From b4a3854c26bc012b6d4fae33d351fd07f3275cd4 Mon Sep 17 00:00:00 2001 From: Andreas Thomas Date: Thu, 23 Mar 2023 00:22:37 +0100 Subject: [PATCH] cloudflare (#1) * build: remove rome * build: remove rome * cf * cf * wip --- .../compiled-contentlayer-config-KFUTZ636.mjs | 162 +- .../.cache/v0.3.0/data-KFUTZ636.json | 64 +- .contentlayer/generated/Page/_index.mjs | 4 +- .contentlayer/generated/Project/_index.json | 47 +- .contentlayer/generated/Project/_index.mjs | 74 +- .../Project/projects__access.mdx.json | 4 +- .../Project/projects__planetfall.mdx.json | 6 +- .../Project/projects__qstash.mdx.json | 4 +- .../Project/projects__redis-query.mdx.json | 2 +- ...ojects__terraform-provider-vercel.mdx.json | 5 +- .../Project/projects__upstash-kafka.mdx.json | 4 +- .../Project/projects__upstash-redis.mdx.json | 4 +- .contentlayer/generated/index.d.ts | 11 +- .contentlayer/generated/index.mjs | 10 +- .contentlayer/generated/types.d.ts | 105 +- app/api/hello/route.ts | 3 - app/components/article-nav.tsx | 3 - app/components/nav.tsx | 8 +- app/layout.tsx | 1 + app/projects/[slug]/page.tsx | 2 +- app/projects/card.tsx | 74 + app/projects/page.tsx | 66 +- content/projects/access.mdx | 68 +- content/projects/planetfall.mdx | 6 +- content/projects/qstash.mdx | 28 +- content/projects/redis-query.mdx | 8 - .../projects/terraform-provider-vercel.mdx | 40 +- content/projects/upstash-kafka.mdx | 169 +- content/projects/upstash-redis.mdx | 78 +- next.config.mjs | 1 + package-lock.json | 5454 +++++++++++++++++ package.json | 8 +- pnpm-lock.yaml | 423 +- static/media/metadata/favicon.603d046c.ico | Bin 0 -> 25931 bytes tailwind.config.js | 5 +- 35 files changed, 6431 insertions(+), 520 deletions(-) delete mode 100644 app/api/hello/route.ts create mode 100644 app/projects/card.tsx delete mode 100644 content/projects/redis-query.mdx create mode 100644 package-lock.json create mode 100644 static/media/metadata/favicon.603d046c.ico diff --git a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs index 6be84a3..79e3504 100644 --- a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs +++ b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs @@ -5,94 +5,90 @@ import rehypePrettyCode from "rehype-pretty-code"; import rehypeSlug from "rehype-slug"; import rehypeAutolinkHeadings from "rehype-autolink-headings"; var computedFields = { - path: { - type: "string", - resolve: (doc) => `/${doc._raw.flattenedPath}` - }, - slug: { - type: "string", - resolve: (doc) => doc._raw.flattenedPath.split("/").slice(1).join("/") - } + path: { + type: "string", + resolve: (doc) => `/${doc._raw.flattenedPath}`, + }, + slug: { + type: "string", + resolve: (doc) => doc._raw.flattenedPath.split("/").slice(1).join("/"), + }, }; var Project = defineDocumentType(() => ({ - name: "Project", - filePathPattern: "./projects/**/*.mdx", - contentType: "mdx", - fields: { - title: { - type: "string", - required: true - }, - description: { - type: "string", - required: true - }, - date: { - type: "date" - }, - url: { - type: "string" - }, - repository: { - type: "string" - } - }, - computedFields + name: "Project", + filePathPattern: "./projects/**/*.mdx", + contentType: "mdx", + fields: { + title: { + type: "string", + required: true, + }, + description: { + type: "string", + required: true, + }, + date: { + type: "date", + }, + url: { + type: "string", + }, + repository: { + type: "string", + }, + }, + computedFields, })); var Page = defineDocumentType(() => ({ - name: "Page", - filePathPattern: "pages/**/*.mdx", - contentType: "mdx", - fields: { - title: { - type: "string", - required: true - }, - description: { - type: "string" - } - }, - computedFields + name: "Page", + filePathPattern: "pages/**/*.mdx", + contentType: "mdx", + fields: { + title: { + type: "string", + required: true, + }, + description: { + type: "string", + }, + }, + computedFields, })); var contentlayer_config_default = makeSource({ - contentDirPath: "./content", - documentTypes: [Page, Project], - mdx: { - remarkPlugins: [remarkGfm], - rehypePlugins: [ - rehypeSlug, - [ - rehypePrettyCode, - { - theme: "github-dark", - onVisitLine(node) { - if (node.children.length === 0) { - node.children = [{ type: "text", value: " " }]; - } - }, - onVisitHighlightedLine(node) { - node.properties.className.push("line--highlighted"); - }, - onVisitHighlightedWord(node) { - node.properties.className = ["word--highlighted"]; - } - } - ], - [ - rehypeAutolinkHeadings, - { - properties: { - className: ["subheading-anchor"], - ariaLabel: "Link to section" - } - } - ] - ] - } + contentDirPath: "./content", + documentTypes: [Page, Project], + mdx: { + remarkPlugins: [remarkGfm], + rehypePlugins: [ + rehypeSlug, + [ + rehypePrettyCode, + { + theme: "github-dark", + onVisitLine(node) { + if (node.children.length === 0) { + node.children = [{ type: "text", value: " " }]; + } + }, + onVisitHighlightedLine(node) { + node.properties.className.push("line--highlighted"); + }, + onVisitHighlightedWord(node) { + node.properties.className = ["word--highlighted"]; + }, + }, + ], + [ + rehypeAutolinkHeadings, + { + properties: { + className: ["subheading-anchor"], + ariaLabel: "Link to section", + }, + }, + ], + ], + }, }); -export { - Page, - Project, - contentlayer_config_default as default -}; +export { Page, Project, contentlayer_config_default as default }; //# sourceMappingURL=compiled-contentlayer-config-KFUTZ636.mjs.map diff --git a/.contentlayer/.cache/v0.3.0/data-KFUTZ636.json b/.contentlayer/.cache/v0.3.0/data-KFUTZ636.json index 0724fbb..588095b 100644 --- a/.contentlayer/.cache/v0.3.0/data-KFUTZ636.json +++ b/.contentlayer/.cache/v0.3.0/data-KFUTZ636.json @@ -7,8 +7,8 @@ "date": "2022-11-13T00:00:00.000Z", "repository": "chronark/access", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var h in c)F(s,h,{get:c[h],enumerable:!0})},_e=(s,c,h,E)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of fr(c))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>c[m],enumerable:!(E=cr(c,m))||E.enumerable});return s};var pr=(s,c,h)=>(h=s!=null?sr(lr(s)):{},_e(c||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function ke(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[f]!==v[l];)l--;for(;f>=1&&l>=0;f--,l--)if(a[f]!==v[l]){if(f!==1||l!==1)do if(f--,l--,l<0||a[f]!==v[l]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function k(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return k(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return k(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,ce={},fe=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=k(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(x);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(x.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(x.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)x.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,l),v&&Qe(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=k(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"@chronark/access\",description:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\",repository:\"chronark/access\",date:\"2022-11-13\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\"},this):Pe(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\n\n- Fully typed\n- Zero dependencies\n- Serializable to store in a database\n\n## Install\n\n```sh-session\nnpm i @chronark/access\n```\n\n## Usage\n\n```ts\nimport { AccessControl, Role } from \"@chronark/access\";\n\n/**\n * Define all your resources and their access patterns\n *\n * key => resource\n * value => array of access types\n */\ntype Statements = {\n user: [\"read\", \"write\", \"dance\"];\n team: [\"read\", \"write\"];\n};\n\n/**\n * Create an access control instance and pass the Statements type to enjoy full\n * type safety\n */\nconst ac = new AccessControl();\n\n/**\n * Now you can define one or more roles by specifying the access permissions\n *\n * This is already fully typed and typescript will let you know if you try to\n * use anything, that is not defined in the Statements type.\n */\nconst role = ac.newRole({\n user: [\"read\", \"write\"],\n team: [\"read\"],\n});\n\n/**\n * Simulate storing and retrieving the role in a database\n *\n * The idea here is, that you can store permissions alongside an API token.\n * Now, when you verify the token, you can also verify the access permissions.\n */\nconst serialized = role.toString();\n\n/**\n * Note how you can pass in the Statements type again, to get full type safety\n */\nconst recovered = Role.fromString(serialized);\n\n/**\n * Validate the role by specifying the resource and the required access\n *\n * everything is fully typed\n */\nconst res = recovered.authorize({\"team\", [\"read\"]});\n\n// res.success => boolean\n// res.error => string | undefined provides a reason for failure\n```", + "code": "var Component=(()=>{var cn=Object.create;var S=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var z=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),fn=(i,e)=>{for(var _ in e)S(i,_,{get:e[_],enumerable:!0})},xe=(i,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of ln(e))!un.call(i,y)&&y!==_&&S(i,y,{get:()=>e[y],enumerable:!(k=bn(e,y))||k.enumerable});return i};var hn=(i,e,_)=>(_=i!=null?cn(mn(i)):{},xe(e||!i||!i.__esModule?S(_,\"default\",{value:i,enumerable:!0}):_,i)),_n=i=>xe(S({},\"__esModule\",{value:!0}),i);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var i=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),k=Symbol.for(\"react.fragment\"),y=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),P=Symbol.for(\"react.suspense_list\"),R=Symbol.for(\"react.memo\"),B=Symbol.for(\"react.lazy\"),Re=Symbol.for(\"react.offscreen\"),Z=Symbol.iterator,Ce=\"@@iterator\";function De(n){if(n===null||typeof n!=\"object\")return null;var a=Z&&n[Z]||n[Ce];return typeof a==\"function\"?a:null}var g=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function u(n){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&m>=0&&s[l]!==f[m];)m--;for(;l>=1&&m>=0;l--,m--)if(s[l]!==f[m]){if(l!==1||m!==1)do if(l--,m--,m<0||s[l]!==f[m]){var h=`\n`+s[l].replace(\" at new \",\" at \");return n.displayName&&h.includes(\"\")&&(h=h.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,h),h}while(l>=1&&m>=0);break}}}finally{$=!1,I.current=b,$e(),Error.prepareStackTrace=c}var j=n?n.displayName||n.name:\"\",ke=j?C(j):\"\";return typeof n==\"function\"&&D.set(n,ke),ke}function Ve(n,a,t){return ce(n,!1)}function Me(n){var a=n.prototype;return!!(a&&a.isReactComponent)}function w(n,a,t){if(n==null)return\"\";if(typeof n==\"function\")return ce(n,Me(n));if(typeof n==\"string\")return C(n);switch(n){case O:return C(\"Suspense\");case P:return C(\"SuspenseList\")}if(typeof n==\"object\")switch(n.$$typeof){case F:return Ve(n.render);case R:return w(n.type,a,t);case B:{var o=n,c=o._payload,b=o._init;try{return w(b(c),a,t)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,be={},ie=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);ie.setExtraStackFrame(t)}else ie.setExtraStackFrame(null)}function Le(n,a,t,o,c){{var b=Function.call.bind(T);for(var d in n)if(b(n,d)){var s=void 0;try{if(typeof n[d]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+d+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[d]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=n[d](a,d,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){s=l}s&&!(s instanceof Error)&&(A(c),u(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,d,typeof s),A(null)),s instanceof Error&&!(s.message in be)&&(be[s.message]=!0,A(c),u(\"Failed %s type: %s\",t,s.message),A(null))}}}var qe=Array.isArray;function W(n){return qe(n)}function ze(n){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&n[Symbol.toStringTag]||n.constructor.name||\"Object\";return t}}function Ge(n){try{return le(n),!1}catch{return!0}}function le(n){return\"\"+n}function me(n){if(Ge(n))return u(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),le(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ue,fe,V;V={};function Ke(n){if(T.call(n,\"ref\")){var a=Object.getOwnPropertyDescriptor(n,\"ref\").get;if(a&&a.isReactWarning)return!1}return n.ref!==void 0}function He(n){if(T.call(n,\"key\")){var a=Object.getOwnPropertyDescriptor(n,\"key\").get;if(a&&a.isReactWarning)return!1}return n.key!==void 0}function Ze(n,a){if(typeof n.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);V[t]||(u('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),n.ref),V[t]=!0)}}function Je(n,a){{var t=function(){ue||(ue=!0,u(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(n,\"key\",{get:t,configurable:!0})}}function Qe(n,a){{var t=function(){fe||(fe=!0,u(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(n,\"ref\",{get:t,configurable:!0})}}var en=function(n,a,t,o,c,b,d){var s={$$typeof:e,type:n,key:a,ref:t,props:d,_owner:b};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(n,a,t,o,c){{var b,d={},s=null,f=null;t!==void 0&&(me(t),s=\"\"+t),He(a)&&(me(a.key),s=\"\"+a.key),Ke(a)&&(f=a.ref,Ze(a,c));for(b in a)T.call(a,b)&&!Xe.hasOwnProperty(b)&&(d[b]=a[b]);if(n&&n.defaultProps){var l=n.defaultProps;for(b in l)d[b]===void 0&&(d[b]=l[b])}if(s||f){var m=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;s&&Je(d,m),f&&Qe(d,m)}return en(n,s,f,c,o,v.current,d)}}var M=g.ReactCurrentOwner,he=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var L;L=!1;function q(n){return typeof n==\"object\"&&n!==null&&n.$$typeof===e}function _e(){{if(M.current){var n=p(M.current.type);if(n)return`\n\nCheck the render method of \\``+n+\"`.\"}return\"\"}}function rn(n){{if(n!==void 0){var a=n.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=n.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(n){{var a=_e();if(!a){var t=typeof n==\"string\"?n:n.displayName||n.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(n,a){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";n&&n._owner&&n._owner!==M.current&&(o=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),u('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof n,u(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,s)}var m=nn(n,a,t,c,b);if(m==null)return m;if(d){var h=a.children;if(h!==void 0)if(o)if(W(h)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};fn(kn,{default:()=>yn,frontmatter:()=>pn});var r=hn(ve()),pn={title:\"@chronark/access\",description:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\",repository:\"chronark/access\",date:\"2022-11-13\"};function Fe(i){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},i.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(e.p,{children:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.ul,{children:[`\n`,(0,r.jsxDEV)(e.li,{children:\"Fully typed\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.li,{children:\"Zero dependencies\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.li,{children:\"Serializable to store in a database\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.h2,{id:\"install\",children:[(0,r.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,r.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(e.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#e1e4e8\"},children:\"npm i @chronark/access\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.h2,{id:\"usage\",children:[(0,r.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#usage\",children:(0,r.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:104},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { AccessControl, Role } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:146},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:207},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:247},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@chronark/access\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:284},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Define all your resources and their access patterns\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * key => resource\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * value => array of access types\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"type\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:60},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:97},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:143},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:180},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#FFAB70\"},children:\"user\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:58},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\":\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:135},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:225},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:263},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:316},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"dance\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:354},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#FFAB70\"},children:\"team\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:58},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\":\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:135},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:225},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:263},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"};\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Create an access control instance and pass the Statements type to enjoy full\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * type safety\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"ac\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:136},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:210},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:247},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:286},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"AccessControl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:323},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:372},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:412},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">();\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Now you can define one or more roles by specifying the access permissions\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * This is already fully typed and typescript will let you know if you try to\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * use anything, that is not defined in the Statements type.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"role\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:138},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:175},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" ac.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:212},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"newRole\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:252},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" user: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:65},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:117},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:155},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" team: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:65},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Simulate storing and retrieving the role in a database\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * The idea here is, that you can store permissions alongside an API token.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Now, when you verify the token, you can also verify the access permissions.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:36,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"serialized\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:144},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:181},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" role.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:218},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"toString\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:260},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"();\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:38,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Note how you can pass in the Statements type again, to get full type safety\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:40,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:41,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"recovered\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:143},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:180},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" Role.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:217},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"fromString\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:259},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:305},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:345},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">(serialized);\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:43,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:44,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Validate the role by specifying the resource and the required access\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:45,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * everything is fully typed\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:47,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:137},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:174},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" recovered.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:211},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"authorize\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:258},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:303},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"team\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:341},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:393},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:432},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"]});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// res.success => boolean\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:51,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// res.error => string | undefined provides a reason for failure\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(i={}){let{wrapper:e}=i.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},i,{children:(0,r.jsxDEV)(Fe,i,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this):Fe(i)}var yn=Nn;return _n(kn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/access.mdx", "_raw": { @@ -22,7 +22,7 @@ "path": "/projects/access", "slug": "access" }, - "documentHash": "1677517732248", + "documentHash": "1678487136437", "hasWarnings": false, "documentTypeName": "Project" }, @@ -55,13 +55,13 @@ }, "projects/planetfall.mdx": { "document": { - "title": "Planetfall", + "title": "planetfall.io", "description": "I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.", "date": "2023-04-01T00:00:00.000Z", "url": "https://planetfall.io", "body": { - "raw": "TODO:", - "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,l)=>()=>(l||s((l={exports:{}}).exports,l),l.exports),vr=(s,l)=>{for(var b in l)A(s,b,{get:l[b],enumerable:!0})},_e=(s,l,b,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of cr(l))!dr.call(s,m)&&m!==b&&A(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,b)=>(b=s!=null?sr(fr(s)):{},_e(l||!s||!s.__esModule?A(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(A({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var we=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),l=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),O=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&f>=0&&a[c]!==v[f];)f--;for(;c>=1&&f>=0;c--,f--)if(a[c]!==v[f]){if(c!==1||f!==1)do if(c--,f--,f<0||a[c]!==v[f]){var p=`\n`+a[c].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(c>=1&&f>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case O:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,le={},ce=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ce.setExtraStackFrame(t)}else ce.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(c){a=c}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in le)&&(le[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),fe(e)}var C=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&C.current&&r&&C.current.stateNode!==r){var t=h(C.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(C.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),He(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var c=e.defaultProps;for(u in c)o[u]===void 0&&(o[u]=c[u])}if(a||v){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,f),v&&Qe(o,f)}return er(e,a,v,i,n,C.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):c=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",c,a)}var f=rr(e,r,t,i,u);if(f==null)return f;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Ce.exports=we()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(Oe()),hr={title:\"Planetfall\",description:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\",date:\"2023-04-01\",url:\"https://planetfall.io\"};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,F.jsxDEV)(l,Object.assign({},s,{children:(0,F.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\"},this):Pe(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\nI'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.", + "code": "var Component=(()=>{var sr=Object.create;var D=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,l)=>()=>(l||s((l={exports:{}}).exports,l),l.exports),vr=(s,l)=>{for(var b in l)D(s,b,{get:l[b],enumerable:!0})},_e=(s,l,b,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==b&&D(s,m,{get:()=>l[m],enumerable:!(y=lr(l,m))||y.enumerable});return s};var pr=(s,l,b)=>(b=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(D({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var we=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),l=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),H=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),O=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[f]!==v[c];)c--;for(;f>=1&&c>=0;f--,c--)if(a[f]!==v[c]){if(f!==1||c!==1)do if(f--,c--,c<0||a[f]!==v[c]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case C:return Ue(e.render);case O:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,le={},fe=_.ReactDebugCurrentFrame;function A(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(A(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),A(null)),a instanceof Error&&!(a.message in le)&&(le[a.message]=!0,A(i),d(\"Failed %s type: %s\",t,a.message),A(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),ce(e)}var P=_.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Xe(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&P.current&&r&&P.current.stateNode!==r){var t=h(P.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(P.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!He.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,P.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Pe.exports=we()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>hr});var F=pr(Ce()),hr={title:\"planetfall.io\",description:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\",date:\"2023-04-01\",url:\"https://planetfall.io\"};function Oe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,F.jsxDEV)(l,Object.assign({},s,{children:(0,F.jsxDEV)(Oe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\"},this):Oe(s)}var mr=gr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/planetfall.mdx", "_raw": { @@ -75,7 +75,7 @@ "path": "/projects/planetfall", "slug": "planetfall" }, - "documentHash": "1677517105919", + "documentHash": "1678487576960", "hasWarnings": false, "documentTypeName": "Project" }, @@ -86,8 +86,8 @@ "date": "2022-07-18T00:00:00.000Z", "url": "https://upstash.com/qstash", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of cr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(lr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),Q=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=Q&&e[Q]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[c]!==v[l];)l--;for(;c>=1&&l>=0;c--,l--)if(a[c]!==v[l]){if(c!==1||l!==1)do if(c--,l--,l<0||a[c]!==v[l]){var p=`\n`+a[c].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(c>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},ce=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ce.setExtraStackFrame(t)}else ce.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(c){a=c}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Qe(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Je(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Qe(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var c=e.defaultProps;for(u in c)o[u]===void 0&&(o[u]=c[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Je(o,l),v&&Ze(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):c=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",c,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"QStash\",description:\"QStash is a fully managed serverless queue and messaging service designed for the serverless era.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\"},this):Pe(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\nQStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\n\n- 100% serverless, no stateful connections required. Messages are pushed to your API.\n- At-least-once delivery guaranteed to any public API\n- Pubsub via topics\n- Delay message delivery\n- Message deduplication\n- Scheduling via CRON\n\n\nFormally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\n\nThere was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is):\n\n- Works anywhere including serverless and edge.\n- Messaging as a service with no backend for users to run.\n- Lightweight, easy to understand, requires nothing to learn.\n- Price scales to zero.\n\nLet's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too.\n\nIf you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible.\n\nWith QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively.\n\n\nTo learn more about QStash, visit [upstash.com/qstash](upstash.com/qstash).", + "code": "var Component=(()=>{var cr=Object.create;var F=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,fr=Object.prototype.hasOwnProperty;var B=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports),mr=(l,t)=>{for(var v in t)F(l,v,{get:t[v],enumerable:!0})},Ee=(l,t,v,y)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let g of lr(t))!fr.call(l,g)&&g!==v&&F(l,g,{get:()=>t[g],enumerable:!(y=ur(t,g))||y.enumerable});return l};var hr=(l,t,v)=>(v=l!=null?cr(dr(l)):{},Ee(t||!l||!l.__esModule?F(v,\"default\",{value:l,enumerable:!0}):v,l)),br=l=>Ee(F({},\"__esModule\",{value:!0}),l);var we=B((Er,ke)=>{ke.exports=React});var xe=B(z=>{\"use strict\";(function(){\"use strict\";var l=we(),t=Symbol.for(\"react.element\"),v=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),g=Symbol.for(\"react.strict_mode\"),G=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),T=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),A=Symbol.for(\"react.suspense_list\"),j=Symbol.for(\"react.memo\"),I=Symbol.for(\"react.lazy\"),je=Symbol.for(\"react.offscreen\"),K=Symbol.iterator,Pe=\"@@iterator\";function Se(e){if(e===null||typeof e!=\"object\")return null;var r=K&&e[K]||e[Pe];return typeof r==\"function\"?r:null}var k=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function m(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a=1&&f>=0&&o[d]!==h[f];)f--;for(;d>=1&&f>=0;d--,f--)if(o[d]!==h[f]){if(d!==1||f!==1)do if(d--,f--,f<0||o[d]!==h[f]){var b=`\n`+o[d].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(d>=1&&f>=0);break}}}finally{M=!1,W.current=c,Me(),Error.prepareStackTrace=s}var x=e?e.displayName||e.name:\"\",ye=x?P(x):\"\";return typeof e==\"function\"&&S.set(e,ye),ye}function Ve(e,r,n){return ce(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function C(e,r,n){if(e==null)return\"\";if(typeof e==\"function\")return ce(e,Le(e));if(typeof e==\"string\")return P(e);switch(e){case U:return P(\"Suspense\");case A:return P(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case T:return Ve(e.render);case j:return C(e.type,r,n);case I:{var a=e,s=a._payload,c=a._init;try{return C(c(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ue={},le=k.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,n=C(e.type,e._source,r?r.type:null);le.setExtraStackFrame(n)}else le.setExtraStackFrame(null)}function qe(e,r,n,a,s){{var c=Function.call.bind(O);for(var i in e)if(c(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((a||\"React class\")+\": \"+n+\" type `\"+i+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[i]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=e[i](r,i,a,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){o=d}o&&!(o instanceof Error)&&(D(s),m(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",a||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ue)&&(ue[o.message]=!0,D(s),m(\"Failed %s type: %s\",n,o.message),D(null))}}}var Qe=Array.isArray;function $(e){return Qe(e)}function Be(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,n=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return n}}function ze(e){try{return de(e),!1}catch{return!0}}function de(e){return\"\"+e}function fe(e){if(ze(e))return m(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),de(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},me,he,V;V={};function Xe(e){if(O.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Ke(e,r){if(typeof e.ref==\"string\"&&N.current&&r&&N.current.stateNode!==r){var n=p(N.current.type);V[n]||(m('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=function(){me||(me=!0,m(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){he||(he=!0,m(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,a,s,c,i){var o={$$typeof:t,type:e,key:r,ref:n,props:i,_owner:c};return o._store={},Object.defineProperty(o._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(o,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function rr(e,r,n,a,s){{var c,i={},o=null,h=null;n!==void 0&&(fe(n),o=\"\"+n),He(r)&&(fe(r.key),o=\"\"+r.key),Xe(r)&&(h=r.ref,Ke(r,s));for(c in r)O.call(r,c)&&!Ge.hasOwnProperty(c)&&(i[c]=r[c]);if(e&&e.defaultProps){var d=e.defaultProps;for(c in d)i[c]===void 0&&(i[c]=d[c])}if(o||h){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,f),h&&Ze(i,f)}return er(e,o,h,s,a,N.current,i)}}var L=k.ReactCurrentOwner,be=k.ReactDebugCurrentFrame;function w(e){if(e){var r=e._owner,n=C(e.type,e._source,r?r.type:null);be.setExtraStackFrame(n)}else be.setExtraStackFrame(null)}var q;q=!1;function Q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===t}function ve(){{if(L.current){var e=p(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function nr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),n=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+n+\".\"}return\"\"}}var pe={};function ar(e){{var r=ve();if(!r){var n=typeof e==\"string\"?e:e.displayName||e.name;n&&(r=`\n\nCheck the top-level render call using <`+n+\">.\")}return r}}function _e(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var n=ar(r);if(pe[n])return;pe[n]=!0;var a=\"\";e&&e._owner&&e._owner!==L.current&&(a=\" It was passed a child from \"+p(e._owner.type)+\".\"),w(e),m('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,a),w(null)}}function ge(e,r){{if(typeof e!=\"object\")return;if($(e))for(var n=0;n\",o=\" Did you accidentally export a JSX literal instead of a component?\"):d=typeof e,m(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",d,o)}var f=rr(e,r,n,s,c);if(f==null)return f;if(i){var b=r.children;if(b!==void 0)if(a)if($(b)){for(var x=0;x{\"use strict\";Re.exports=xe()});var gr={};mr(gr,{default:()=>_r,frontmatter:()=>vr});var u=hr(Ne()),vr={title:\"QStash\",description:\"QStash is a fully managed serverless queue and messaging service designed for the serverless era.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\"};function Te(l){let t=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,u.jsxDEV)(u.Fragment,{children:[(0,u.jsxDEV)(t.p,{children:\"QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.ul,{children:[`\n`,(0,u.jsxDEV)(t.li,{children:\"100% serverless, no stateful connections required. Messages are pushed to your API.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"At-least-once delivery guaranteed to any public API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:16,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"Formally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"There was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is):\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.ul,{children:[`\n`,(0,u.jsxDEV)(t.li,{children:\"Works anywhere including serverless and edge.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Messaging as a service with no backend for users to run.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Lightweight, easy to understand, requires nothing to learn.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:26,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"Let's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"If you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"With QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:[\"To learn more about QStash, visit \",(0,u.jsxDEV)(t.a,{href:\"upstash.com/qstash\",children:\"upstash.com/qstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:35,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:35,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:t}=l.components||{};return t?(0,u.jsxDEV)(t,Object.assign({},l,{children:(0,u.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\"},this):Te(l)}var _r=pr;return br(gr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/qstash.mdx", "_raw": { @@ -101,32 +101,7 @@ "path": "/projects/qstash", "slug": "qstash" }, - "documentHash": "1677518101031", - "hasWarnings": false, - "documentTypeName": "Project" - }, - "projects/redis-query.mdx": { - "document": { - "title": "Redis Query", - "description": "Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices.", - "repository": "chronark/redis-query", - "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,y)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(y=fr(f,m))||y.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),ce(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Qe(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Qe(o,c),v&&Ze(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"Redis Query\",description:\"Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices.\",repository:\"chronark/redis-query\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\"},this):Pe(s)}var mr=gr;return hr(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" - }, - "_id": "projects/redis-query.mdx", - "_raw": { - "sourceFilePath": "projects/redis-query.mdx", - "sourceFileName": "redis-query.mdx", - "sourceFileDir": "projects", - "contentType": "mdx", - "flattenedPath": "projects/redis-query" - }, - "type": "Project", - "path": "/projects/redis-query", - "slug": "redis-query" - }, - "documentHash": "1677517184762", + "documentHash": "1679526148985", "hasWarnings": false, "documentTypeName": "Project" }, @@ -135,10 +110,11 @@ "title": "Vercel Terraform Provider", "description": "A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.", "date": "2021-03-16T00:00:00.000Z", + "url": "https://registry.terraform.io/providers/chronark/vercel/latest", "repository": "chronark/terraform-provider-vercel", "body": { - "raw": "TODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var b in c)F(s,b,{get:c[b],enumerable:!0})},_e=(s,c,b,E)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of lr(c))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>c[m],enumerable:!(E=cr(c,m))||E.enumerable});return s};var pr=(s,c,b)=>(b=s!=null?sr(fr(s)):{},_e(c||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),V=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),Y=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&f>=0&&a[l]!==v[f];)f--;for(;l>=1&&f>=0;l--,f--)if(a[l]!==v[f]){if(l!==1||f!==1)do if(l--,f--,f<0||a[l]!==v[f]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&f>=0);break}}}finally{N=!1,$.current=u,Ne(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case V:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case Y:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,ce={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function M(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),fe(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,f),v&&Qe(o,f)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(M(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var f=rr(e,r,t,i,u);if(f==null)return f;if(o){var p=r.children;if(p!==void 0)if(n)if(M(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\",lineNumber:7,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\"},this):Pe(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\n\nBack in the day when Vercel didn't have an official Terraform provider, I wrote one. \nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.\n\n```hcl\nterraform {\n required_providers {\n vercel = {\n source = \"registry.terraform.io/chronark/vercel\"\n version = \">=0.10.3\"\n }\n }\n}\n\nprovider \"vercel\" {\n token = \"\"\n}\n\nresource \"vercel_project\" \"my_project\" {\n name = \"project-via-terraform\"\n git_repository {\n type = \"github\"\n repo = \"chronark/terraform-provider-vercel\"\n }\n}\n```\n\nIt was a fun project and I learned a lot about Terraform and Vercel's API. \nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.\n\nThere have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\n\nNow that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022. \n\nPlease use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead.", + "code": "var Component=(()=>{var sr=Object.create;var S=Object.defineProperty;var ir=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var ur=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var G=(l,r)=>()=>(r||l((r={exports:{}}).exports,r),r.exports),fr=(l,r)=>{for(var _ in r)S(l,_,{get:r[_],enumerable:!0})},ve=(l,r,_,k)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let y of lr(r))!mr.call(l,y)&&y!==_&&S(l,y,{get:()=>r[y],enumerable:!(k=ir(r,y))||k.enumerable});return l};var hr=(l,r,_)=>(_=l!=null?sr(ur(l)):{},ve(r||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),br=l=>ve(S({},\"__esModule\",{value:!0}),l);var ge=G((vr,xe)=>{xe.exports=React});var Ee=G(z=>{\"use strict\";(function(){\"use strict\";var l=ge(),r=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),k=Symbol.for(\"react.fragment\"),y=Symbol.for(\"react.strict_mode\"),K=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),R=Symbol.for(\"react.forward_ref\"),A=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),F=Symbol.for(\"react.memo\"),B=Symbol.for(\"react.lazy\"),Fe=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Te=\"@@iterator\";function we(e){if(e===null||typeof e!=\"object\")return null;var a=J&&e[J]||e[Te];return typeof a==\"function\"?a:null}var x=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&m>=0&&c[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(c[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||c[u]!==h[m]){var b=`\n`+c[u].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,b),b}while(u>=1&&m>=0);break}}}finally{Y=!1,I.current=i,Ye(),Error.prepareStackTrace=s}var E=e?e.displayName||e.name:\"\",ke=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,ke),ke}function We(e,a,t){return se(e,!1)}function Me(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function C(e,a,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Me(e));if(typeof e==\"string\")return T(e);switch(e){case A:return T(\"Suspense\");case D:return T(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case R:return We(e.render);case F:return C(e.type,a,t);case B:{var o=e,s=o._payload,i=o._init;try{return C(i(s),a,t)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ie={},le=x.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Le(e,a,t,o,s){{var i=Function.call.bind(O);for(var d in e)if(i(e,d)){var c=void 0;try{if(typeof e[d]!=\"function\"){var h=Error((o||\"React class\")+\": \"+t+\" type `\"+d+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[d]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}c=e[d](a,d,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){c=u}c&&!(c instanceof Error)&&(P(s),f(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,d,typeof c),P(null)),c instanceof Error&&!(c.message in ie)&&(ie[c.message]=!0,P(s),f(\"Failed %s type: %s\",t,c.message),P(null))}}}var qe=Array.isArray;function $(e){return qe(e)}function Ge(e){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(ze(e))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),ue(e)}var U=x.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},fe,he,W;W={};function Xe(e){if(O.call(e,\"ref\")){var a=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var a=Object.getOwnPropertyDescriptor(e,\"key\").get;if(a&&a.isReactWarning)return!1}return e.key!==void 0}function Je(e,a){if(typeof e.ref==\"string\"&&U.current&&a&&U.current.stateNode!==a){var t=p(U.current.type);W[t]||(f('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(U.current.type),e.ref),W[t]=!0)}}function Ze(e,a){{var t=function(){fe||(fe=!0,f(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,a){{var t=function(){he||(he=!0,f(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,a,t,o,s,i,d){var c={$$typeof:r,type:e,key:a,ref:t,props:d,_owner:i};return c._store={},Object.defineProperty(c._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function rr(e,a,t,o,s){{var i,d={},c=null,h=null;t!==void 0&&(me(t),c=\"\"+t),He(a)&&(me(a.key),c=\"\"+a.key),Xe(a)&&(h=a.ref,Je(a,s));for(i in a)O.call(a,i)&&!Ke.hasOwnProperty(i)&&(d[i]=a[i]);if(e&&e.defaultProps){var u=e.defaultProps;for(i in u)d[i]===void 0&&(d[i]=u[i])}if(c||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;c&&Ze(d,m),h&&Qe(d,m)}return er(e,c,h,s,o,U.current,d)}}var M=x.ReactCurrentOwner,be=x.ReactDebugCurrentFrame;function g(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var L;L=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===r}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function nr(e){{if(e!==void 0){var a=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function ar(e){{var a=_e();if(!a){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(e,a){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=ar(a);if(pe[t])return;pe[t]=!0;var o=\"\";e&&e._owner&&e._owner!==M.current&&(o=\" It was passed a child from \"+p(e._owner.type)+\".\"),g(e),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),g(null)}}function ye(e,a){{if(typeof e!=\"object\")return;if($(e))for(var t=0;t\",c=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,c)}var m=rr(e,a,t,s,i);if(m==null)return m;if(d){var b=a.children;if(b!==void 0)if(o)if($(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var yr={};fr(yr,{default:()=>Nr,frontmatter:()=>_r});var n=hr(Ue()),_r={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\",url:\"https://registry.terraform.io/providers/chronark/vercel/latest\"};function Re(l){let r=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},l.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(r.p,{children:`Back in the day when Vercel didn't have an official Terraform provider, I wrote one.\nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(r.pre,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(r.code,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"terraform\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"required_providers\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:58},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:66},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:103},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:140},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" source \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:70},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:107},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"registry.terraform.io/chronark/vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" version \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:70},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:107},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\">=0.10.3\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"provider\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" token\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:63},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:100},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:137},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"resource\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"vercel_project\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:163},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"my_project\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:200},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" name\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:62},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:99},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:136},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"project-via-terraform\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"git_repository\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:58},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" type\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:138},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"github\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" repo\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:138},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"chronark/terraform-provider-vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:`It was a fun project and I learned a lot about Terraform and Vercel's API.\nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:38,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:\"There have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:41,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:[\"Now that Vercel have stepped in, I have decided to \",(0,n.jsxDEV)(r.a,{href:\"https://twitter.com/chronark_/status/1517759708983177218\",children:\"deprecate\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:43,columnNumber:52},this),\" this one on April 23rd 2022.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:43,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:[\"Please use the \",(0,n.jsxDEV)(r.a,{href:\"https://registry.terraform.io/providers/vercel/vercel/latest\",children:\"official provider\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:45,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:45,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:r}=l.components||{};return r?(0,n.jsxDEV)(r,Object.assign({},l,{children:(0,n.jsxDEV)(Re,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\"},this):Re(l)}var Nr=pr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/terraform-provider-vercel.mdx", "_raw": { @@ -152,7 +128,7 @@ "path": "/projects/terraform-provider-vercel", "slug": "terraform-provider-vercel" }, - "documentHash": "1677517152082", + "documentHash": "1679527234899", "hasWarnings": false, "documentTypeName": "Project" }, @@ -271,8 +247,8 @@ "url": "https://upstash.com/kafka", "repository": "upstash/upstash-kafka", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var K=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var b in f)F(s,b,{get:f[b],enumerable:!0})},_e=(s,f,b,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,b)=>(b=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=K((_r,Re)=>{Re.exports=React});var Ce=K(q=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),z=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),P=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),w=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,ke=\"@@iterator\";function je(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[ke];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&k.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&k.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function j(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case P:return Ue(e.render);case w:return j(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return j(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=j(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(x);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function Ke(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function qe(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(qe(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ke(e)),ce(e)}var O=_.ReactCurrentOwner,ze={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Xe(e){if(x.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(x.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)x.call(r,u)&&!ze.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=j(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(Pe()),hr={title:\"@upstash/kafka\",description:\"A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes\",date:\"2022-01-08\",url:\"https://upstash.com/kafka\",repository:\"upstash/upstash-kafka\"};function we(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(we,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\"},this):we(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\nAn HTTP/REST based Kafka client built on top of\n[Upstash REST API](https://docs.upstash.com/kafka/rest).\n\nIt is the only connectionless (HTTP based) Kafka client and designed for:\n\n- Serverless functions (AWS Lambda ...)\n- Cloudflare Workers (see the example)\n- Fastly Compute@Edge\n- Next.js Edge, Remix ...\n- Client side web/mobile applications\n- WebAssembly and other environments where HTTP is preferred over TCP\n connections.\n\n# Installation\n\n```bash\nnpm install @upstash/kafka\n```\n\n# Quickstart\n\n## Auth\n\n1. Go to [upstash](https://console.upstash.com/kafka) and select your database.\n2. Copy the `REST API` secrets at the bottom of the page\n\n```typescript\nimport { Kafka } from \"@upstash/kafka\"\n\nconst kafka = new Kafka({\n url: \"\",\n username: \"\",\n password: \"\",\n})\n```\n\n## Produce a single message\n\n```typescript\nconst p = kafka.producer()\nconst message = { hello: \"world\" } // Objects will get serialized using `JSON.stringify`\nconst res = await p.produce(\"\", message)\nconst res = await p.produce(\"\", message, {\n partition: 1,\n timestamp: 12345,\n key: \"\",\n headers: [{ key: \"traceId\", value: \"85a9f12\" }],\n})\n```\n\n## Produce multiple messages.\n\nThe same options from the example above can be set for every message.\n\n```typescript\nconst p = kafka.producer()\nconst res = await p.produceMany([\n {\n topic: \"my.topic\",\n value: { hello: \"world\" },\n // ...options\n },\n {\n topic: \"another.topic\",\n value: \"another message\",\n // ...options\n },\n])\n```\n\n## Consume\n\nThe first time a consumer is created, it needs to figure out the group\ncoordinator by asking the Kafka brokers and joins the consumer group. This\nprocess takes some time to complete. That's why when a consumer instance is\ncreated first time, it may return empty messages until consumer group\ncoordination is completed.\n\n```typescript\nconst c = kafka.consumer()\nconst messages = await c.consume({\n consumerGroupId: \"group_1\",\n instanceId: \"instance_1\",\n topics: [\"test.topic\"],\n autoOffsetReset: \"earliest\",\n})\n```\n\nMore examples can be found in the\n[docstring](https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265)\n\n## Commit manually\n\nWhile `consume` can handle committing automatically, you can also use\n`Consumer.commit` to manually commit.\n\n```typescript\nconst consumerGroupId = \"mygroup\"\nconst instanceId = \"myinstance\"\nconst topic = \"my.topic\"\n\nconst c = kafka.consumer()\nconst messages = await c.consume({\n consumerGroupId,\n instanceId,\n topics: [topic],\n autoCommit: false,\n})\n\nfor (const message of messages) {\n // message handling logic\n\n await c.commit({\n consumerGroupId,\n instanceId,\n offset: {\n topic: message.topic,\n partition: message.partition,\n offset: message.offset,\n },\n })\n}\n```\n\n## Fetch\n\nYou can also manage offsets manually by using `Consumer.fetch`\n\n```typescript\nconst c = kafka.consumer()\nconst messages = await c.fetch({\n topic: \"greeting\",\n partition: 3,\n offset: 42,\n timeout: 1000,\n})\n```\n\n## Examples\n\nSee [/examples](https://github.com/upstash/upstash-kafka/tree/main/examples) as\nwell as various examples in the docstrings of each method.\n\n# Contributing\n\n## Requirements\n\n- [nodejs](https://nodejs.org) v14.x or higher\n- [pnpm](https://pnpm.io/installation)\n\n## Setup\n\n0. Install dependencies using `pnpm install`\n1. Create a kafka instance on upstash.\n [docs](https://docs.upstash.com/kafka#create-a-kafka-cluster)\n2. Create the following topics: `blue`, `red`, `green`.\n [docs](https://docs.upstash.com/kafka#create-a-topic)\n\n The partitions or retention settings don't matter at this time.\n\n3. Create `.env` file with your kafka secrets `cp .env.example .env`\n\n## Running tests\n\n```bash\npnpm test\n```\n", + "code": "var Component=(()=>{var dn=Object.create;var P=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var G=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports),fn=(m,e)=>{for(var _ in e)P(m,_,{get:e[_],enumerable:!0})},ye=(m,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of ln(e))!hn.call(m,k)&&k!==_&&P(m,k,{get:()=>e[k],enumerable:!(x=mn(e,k))||x.enumerable});return m};var bn=(m,e,_)=>(_=m!=null?dn(un(m)):{},ye(e||!m||!m.__esModule?P(_,\"default\",{value:m,enumerable:!0}):_,m)),_n=m=>ye(P({},\"__esModule\",{value:!0}),m);var Ee=G((gn,ge)=>{ge.exports=React});var je=G(q=>{\"use strict\";(function(){\"use strict\";var m=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),H=Symbol.for(\"react.profiler\"),z=Symbol.for(\"react.provider\"),X=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),A=Symbol.for(\"react.suspense_list\"),C=Symbol.for(\"react.memo\"),D=Symbol.for(\"react.lazy\"),Ce=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Re=\"@@iterator\";function Te(r){if(r===null||typeof r!=\"object\")return null;var a=J&&r[J]||r[Re];return typeof a==\"function\"?a:null}var g=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&s[l]!==f[u];)u--;for(;l>=1&&u>=0;l--,u--)if(s[l]!==f[u]){if(l!==1||u!==1)do if(l--,u--,u<0||s[l]!==f[u]){var b=`\n`+s[l].replace(\" at new \",\" at \");return r.displayName&&b.includes(\"\")&&(b=b.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,b),b}while(l>=1&&u>=0);break}}}finally{W=!1,I.current=i,We(),Error.prepareStackTrace=d}var j=r?r.displayName||r.name:\"\",xe=j?R(j):\"\";return typeof r==\"function\"&&T.set(r,xe),xe}function Me(r,a,t){return de(r,!1)}function $e(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,t){if(r==null)return\"\";if(typeof r==\"function\")return de(r,$e(r));if(typeof r==\"string\")return R(r);switch(r){case O:return R(\"Suspense\");case A:return R(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case F:return Me(r.render);case C:return w(r.type,a,t);case D:{var o=r,d=o._payload,i=o._init;try{return w(i(d),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},me=g.ReactDebugCurrentFrame;function B(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);me.setExtraStackFrame(t)}else me.setExtraStackFrame(null)}function Ve(r,a,t,o,d){{var i=Function.call.bind(S);for(var c in r)if(i(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+c+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[c]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){s=l}s&&!(s instanceof Error)&&(B(d),h(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,c,typeof s),B(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,B(d),h(\"Failed %s type: %s\",t,s.message),B(null))}}}var Ke=Array.isArray;function Y(r){return Ke(r)}function Ge(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return t}}function qe(r){try{return le(r),!1}catch{return!0}}function le(r){return\"\"+r}function ue(r){if(qe(r))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(r)),le(r)}var v=g.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},he,fe,M;M={};function ze(r){if(S.call(r,\"ref\")){var a=Object.getOwnPropertyDescriptor(r,\"ref\").get;if(a&&a.isReactWarning)return!1}return r.ref!==void 0}function Xe(r){if(S.call(r,\"key\")){var a=Object.getOwnPropertyDescriptor(r,\"key\").get;if(a&&a.isReactWarning)return!1}return r.key!==void 0}function Je(r,a){if(typeof r.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);M[t]||(h('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),r.ref),M[t]=!0)}}function Qe(r,a){{var t=function(){he||(he=!0,h(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){fe||(fe=!0,h(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:t,configurable:!0})}}var en=function(r,a,t,o,d,i,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:i};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,d){{var i,c={},s=null,f=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),ze(a)&&(f=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!He.hasOwnProperty(i)&&(c[i]=a[i]);if(r&&r.defaultProps){var l=r.defaultProps;for(i in l)c[i]===void 0&&(c[i]=l[i])}if(s||f){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),f&&Ze(c,u)}return en(r,s,f,d,o,v.current,c)}}var $=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var V;V=!1;function K(r){return typeof r==\"object\"&&r!==null&&r.$$typeof===e}function _e(){{if($.current){var r=p($.current.type);if(r)return`\n\nCheck the render method of \\``+r+\"`.\"}return\"\"}}function rn(r){{if(r!==void 0){var a=r.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var t=typeof r==\"string\"?r:r.displayName||r.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";r&&r._owner&&r._owner!==$.current&&(o=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),h('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof r,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,s)}var u=nn(r,a,t,d,i);if(u==null)return u;if(c){var b=a.children;if(b!==void 0)if(o)if(Y(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var n=bn(ve()),pn={title:\"@upstash/kafka\",description:\"A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes\",date:\"2022-01-08\",url:\"https://upstash.com/kafka\",repository:\"upstash/upstash-kafka\"};function Fe(m){let e=Object.assign({p:\"p\",a:\"a\",ul:\"ul\",li:\"li\",h1:\"h1\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\",h2:\"h2\",ol:\"ol\"},m.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(e.p,{children:[`An HTTP/REST based Kafka client built on top of\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka/rest\",children:\"Upstash REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"It is the only connectionless (HTTP based) Kafka client and designed for:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Cloudflare Workers (see the example)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Fastly Compute@Edge\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Next.js Edge, Remix ...\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Client side web/mobile applications\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:`WebAssembly and other environments where HTTP is preferred over TCP\nconnections.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"installation\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#installation\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:223},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"quickstart\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quickstart\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"auth\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#auth\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ol,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:[\"Go to \",(0,n.jsxDEV)(e.a,{href:\"https://console.upstash.com/kafka\",children:\"upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[\"Copy the \",(0,n.jsxDEV)(e.code,{children:\"REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:35,columnNumber:13},this),\" secrets at the bottom of the page\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:35,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Kafka } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/kafka\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:250},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:326},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:63},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" username: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:68},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" password: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:68},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"produce-a-single-message\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-a-single-message\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:47,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:141},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:178},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { hello: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:215},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:314},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// Objects will get serialized using `JSON.stringify`\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:371},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:408},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", message)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:371},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:408},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", message, {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" timestamp: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"12345\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" key: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:63},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" headers: [{ key: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"traceId\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", value: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:130},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"85a9f12\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" }],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:49,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"produce-multiple-messages\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-multiple-messages\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"The same options from the example above can be set for every message.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produceMany\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"([\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: { hello: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:76},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another message\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"])\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"consume\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#consume\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:81,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:`The first time a consumer is created, it needs to figure out the group\ncoordinator by asking the Kafka brokers and joins the consumer group. This\nprocess takes some time to complete. That's why when a consumer instance is\ncreated first time, it may return empty messages until consumer group\ncoordination is completed.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:83,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"group_1\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"instance_1\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:70},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"test.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoOffsetReset: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"earliest\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[`More examples can be found in the\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265\",children:\"docstring\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:100,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:99,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"commit-manually\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#commit-manually\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:102,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"While \",(0,n.jsxDEV)(e.code,{children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:104,columnNumber:7},this),` can handle committing automatically, you can also use\n`,(0,n.jsxDEV)(e.code,{children:\"Consumer.commit\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:105,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:104,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"consumerGroupId\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:270},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:307},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"mygroup\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"instanceId\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:218},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"myinstance\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"topic\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:172},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:209},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:252},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [topic],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoCommit: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"false\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:70},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"for\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" (\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:59},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:97},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:218},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"of\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:255},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" messages) {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// message handling logic\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:58},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:99},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"commit\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: message.topic,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: message.partition,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: message.offset,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:107,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"fetch\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#fetch\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:135,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"You can also manage offsets manually by using \",(0,n.jsxDEV)(e.code,{children:\"Consumer.fetch\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:137,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:137,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"fetch\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"greeting\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:65},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"3\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"42\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:66},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" timeout: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1000\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:139,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"examples\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#examples\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:149,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"See \",(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-kafka/tree/main/examples\",children:\"/examples\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:151,columnNumber:5},this),` as\nwell as various examples in the docstrings of each method.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:151,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"contributing\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:154,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"requirements\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#requirements\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:156,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:[(0,n.jsxDEV)(e.a,{href:\"https://nodejs.org\",children:\"nodejs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:(0,n.jsxDEV)(e.a,{href:\"https://pnpm.io/installation\",children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:159,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:159,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"setup\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#setup\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:161,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ol,{start:\"0\",children:[`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Install dependencies using \",(0,n.jsxDEV)(e.code,{children:\"pnpm install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[`Create a kafka instance on upstash.\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-kafka-cluster\",children:\"docs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:165,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:164,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create the following topics: \",(0,n.jsxDEV)(e.code,{children:\"blue\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:33},this),\", \",(0,n.jsxDEV)(e.code,{children:\"red\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:41},this),\", \",(0,n.jsxDEV)(e.code,{children:\"green\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:48},this),`.\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-topic\",children:\"docs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:167,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:4},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"The partitions or retention settings don't matter at this time.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:169,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create \",(0,n.jsxDEV)(e.code,{children:\".env\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:11},this),\" file with your kafka secrets \",(0,n.jsxDEV)(e.code,{children:\"cp .env.example .env\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"running-tests\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#running-tests\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:173,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"test\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:175,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(m={}){let{wrapper:e}=m.components||{};return e?(0,n.jsxDEV)(e,Object.assign({},m,{children:(0,n.jsxDEV)(Fe,m,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this):Fe(m)}var kn=Nn;return _n(xn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/upstash-kafka.mdx", "_raw": { @@ -286,7 +262,7 @@ "path": "/projects/upstash-kafka", "slug": "upstash-kafka" }, - "documentHash": "1677517781656", + "documentHash": "1679526092640", "hasWarnings": false, "documentTypeName": "Project" }, @@ -379,8 +355,8 @@ "url": "https://upstash.com/redis", "repository": "upstash/upstash-redis", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),P=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),w=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case P:return Ue(e.render);case w:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),ce(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),He(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(Pe()),br={title:\"@upstash/redis\",description:\"A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.\",date:\"2022-03-14\",url:\"https://upstash.com/redis\",repository:\"upstash/upstash-redis\"};function we(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(we,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\"},this):we(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\n`@upstash/redis` is an HTTP/REST based Redis client for typescript, built on top\nof [Upstash REST API](https://docs.upstash.com/features/restapi).\n\nIt is the only connectionless (HTTP based) Redis client and designed for:\n\n- Serverless functions (AWS Lambda ...)\n- Cloudflare Workers (see\n [the example](https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers))\n- Fastly Compute@Edge (see\n [the example](https://github.com/upstash/upstash-redis/tree/main/examples/fastly))\n- Next.js, Jamstack ...\n- Client side web/mobile applications\n- WebAssembly\n- and other environments where HTTP is preferred over TCP.\n\nSee\n[the list of APIs](https://docs.upstash.com/features/restapi#rest---redis-api-compatibility)\nsupported.\n\n## Quick Start\n\n### Install\n\n#### Node.js\n\n```bash\nnpm install @upstash/redis\n```\n\n#### Deno\n\n```ts\nimport { Redis } from \"https://deno.land/x/upstash_redis/mod.ts\";\n```\n\n### Create database\n\nCreate a new redis database on [upstash](https://console.upstash.com/)\n\n## Basic Usage:\n\n```ts\nimport { Redis } from \"@upstash/redis\"\n\nconst redis = new Redis({\n url: ,\n token: ,\n})\n\n// string\nawait redis.set('key', 'value');\nlet data = await redis.get('key');\nconsole.log(data)\n\nawait redis.set('key2', 'value2', {ex: 1});\n\n// sorted set\nawait redis.zadd('scores', { score: 1, member: 'team1' })\ndata = await redis.zrange('scores', 0, 100 )\nconsole.log(data)\n\n// list\nawait redis.lpush('elements', 'magnesium')\ndata = await redis.lrange('elements', 0, 100 )\nconsole.log(data)\n\n// hash\nawait redis.hset('people', {name: 'joe'})\ndata = await redis.hget('people', 'name' )\nconsole.log(data)\n\n// sets\nawait redis.sadd('animals', 'cat')\ndata = await redis.spop('animals', 1)\nconsole.log(data)\n```\n", + "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),fn=(l,e)=>{for(var _ in e)O(l,_,{get:e[_],enumerable:!0})},ye=(l,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of mn(e))!bn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var hn=(l,e,_)=>(_=l!=null?dn(un(l)):{},ye(e||!l||!l.__esModule?O(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(O({},\"__esModule\",{value:!0}),l);var Ee=q((gn,ge)=>{ge.exports=React});var je=q(z=>{\"use strict\";(function(){\"use strict\";var l=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),G=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),X=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),B=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),R=Symbol.for(\"react.memo\"),A=Symbol.for(\"react.lazy\"),Re=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Ce=\"@@iterator\";function Te(r){if(r===null||typeof r!=\"object\")return null;var a=J&&r[J]||r[Ce];return typeof a==\"function\"?a:null}var g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&s[m]!==f[u];)u--;for(;m>=1&&u>=0;m--,u--)if(s[m]!==f[u]){if(m!==1||u!==1)do if(m--,u--,u<0||s[m]!==f[u]){var h=`\n`+s[m].replace(\" at new \",\" at \");return r.displayName&&h.includes(\"\")&&(h=h.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,h),h}while(m>=1&&u>=0);break}}}finally{W=!1,I.current=i,We(),Error.prepareStackTrace=d}var j=r?r.displayName||r.name:\"\",xe=j?C(j):\"\";return typeof r==\"function\"&&T.set(r,xe),xe}function $e(r,a,t){return de(r,!1)}function Me(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,t){if(r==null)return\"\";if(typeof r==\"function\")return de(r,Me(r));if(typeof r==\"string\")return C(r);switch(r){case B:return C(\"Suspense\");case D:return C(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case F:return $e(r.render);case R:return w(r.type,a,t);case A:{var o=r,d=o._payload,i=o._init;try{return w(i(d),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function P(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Ve(r,a,t,o,d){{var i=Function.call.bind(S);for(var c in r)if(i(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+c+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[c]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){s=m}s&&!(s instanceof Error)&&(P(d),b(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,c,typeof s),P(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,P(d),b(\"Failed %s type: %s\",t,s.message),P(null))}}}var He=Array.isArray;function Y(r){return He(r)}function qe(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return t}}function ze(r){try{return me(r),!1}catch{return!0}}function me(r){return\"\"+r}function ue(r){if(ze(r))return b(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(r)),me(r)}var v=g.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},be,fe,$;$={};function Ke(r){if(S.call(r,\"ref\")){var a=Object.getOwnPropertyDescriptor(r,\"ref\").get;if(a&&a.isReactWarning)return!1}return r.ref!==void 0}function Xe(r){if(S.call(r,\"key\")){var a=Object.getOwnPropertyDescriptor(r,\"key\").get;if(a&&a.isReactWarning)return!1}return r.key!==void 0}function Je(r,a){if(typeof r.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);$[t]||(b('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),r.ref),$[t]=!0)}}function Qe(r,a){{var t=function(){be||(be=!0,b(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){fe||(fe=!0,b(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:t,configurable:!0})}}var en=function(r,a,t,o,d,i,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:i};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,d){{var i,c={},s=null,f=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),Ke(a)&&(f=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(c[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)c[i]===void 0&&(c[i]=m[i])}if(s||f){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),f&&Ze(c,u)}return en(r,s,f,d,o,v.current,c)}}var M=g.ReactCurrentOwner,he=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var V;V=!1;function H(r){return typeof r==\"object\"&&r!==null&&r.$$typeof===e}function _e(){{if(M.current){var r=p(M.current.type);if(r)return`\n\nCheck the render method of \\``+r+\"`.\"}return\"\"}}function rn(r){{if(r!==void 0){var a=r.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var t=typeof r==\"string\"?r:r.displayName||r.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";r&&r._owner&&r._owner!==M.current&&(o=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),b('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof r,b(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,s)}var u=nn(r,a,t,d,i);if(u==null)return u;if(c){var h=a.children;if(h!==void 0)if(o)if(Y(h)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var n=hn(ve()),pn={title:\"@upstash/redis\",description:\"A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.\",date:\"2022-03-14\",url:\"https://upstash.com/redis\",repository:\"upstash/upstash-redis\"};function Fe(l){let e=Object.assign({p:\"p\",code:\"code\",a:\"a\",ul:\"ul\",li:\"li\",h2:\"h2\",span:\"span\",h3:\"h3\",h4:\"h4\",div:\"div\",pre:\"pre\"},l.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(e.p,{children:[(0,n.jsxDEV)(e.code,{children:\"@upstash/redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),` is an HTTP/REST based Redis client for typescript, built on top\nof `,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/features/restapi\",children:\"Upstash REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:12,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"It is the only connectionless (HTTP based) Redis client and designed for:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`Cloudflare Workers (see\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers\",children:\"the example\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`Fastly Compute@Edge (see\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/fastly\",children:\"the example\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Next.js, Jamstack ...\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Client side web/mobile applications\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"WebAssembly\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"and other environments where HTTP is preferred over TCP.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:24,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[`See\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/features/restapi#rest---redis-api-compatibility\",children:\"the list of APIs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"quick-start\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quick-start\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h3,{id:\"install\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h4,{id:\"nodejs\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#nodejs\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:223},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:36,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h4,{id:\"deno\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deno\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:40,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"https://deno.land/x/upstash_redis/mod.ts\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:270},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h3,{id:\"create-database\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#create-database\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create a new redis database on \",(0,n.jsxDEV)(e.a,{href:\"https://console.upstash.com/\",children:\"upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:48,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"basic-usage\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#basic-usage\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/redis\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:250},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:326},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: <\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_URL\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" token: <\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_TOKEN\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// string\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:229},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:267},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"let\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:59},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:101},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"get\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:259},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:335},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key2'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:230},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value2'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:268},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", {ex: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:320},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:363},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// sorted set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"zadd\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", { score: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:280},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", member: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:317},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'team1'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:363},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"zrange\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:350},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:388},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:425},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:463},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// list\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"lpush\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:236},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'magnesium'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:274},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"lrange\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:352},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:390},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:427},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:465},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// hash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"hset\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", {name: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'joe'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:278},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"hget\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:259},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:296},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:348},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'name'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:386},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// sets\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"sadd\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:234},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'cat'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:272},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:62},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:99},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:136},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:177},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"spop\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:220},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:260},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:297},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:350},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:388},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,n.jsxDEV)(e,Object.assign({},l,{children:(0,n.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this):Fe(l)}var kn=Nn;return _n(xn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/upstash-redis.mdx", "_raw": { @@ -394,7 +370,7 @@ "path": "/projects/upstash-redis", "slug": "upstash-redis" }, - "documentHash": "1677517994411", + "documentHash": "1679526095656", "hasWarnings": false, "documentTypeName": "Project" } diff --git a/.contentlayer/generated/Page/_index.mjs b/.contentlayer/generated/Page/_index.mjs index 10fe12c..666b015 100644 --- a/.contentlayer/generated/Page/_index.mjs +++ b/.contentlayer/generated/Page/_index.mjs @@ -1,5 +1,3 @@ // NOTE This file is auto-generated by Contentlayer - - -export const allPages = [] +export const allPages = []; diff --git a/.contentlayer/generated/Project/_index.json b/.contentlayer/generated/Project/_index.json index 7729813..5de9d3a 100644 --- a/.contentlayer/generated/Project/_index.json +++ b/.contentlayer/generated/Project/_index.json @@ -5,8 +5,8 @@ "date": "2022-11-13T00:00:00.000Z", "repository": "chronark/access", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var h in c)F(s,h,{get:c[h],enumerable:!0})},_e=(s,c,h,E)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of fr(c))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>c[m],enumerable:!(E=cr(c,m))||E.enumerable});return s};var pr=(s,c,h)=>(h=s!=null?sr(lr(s)):{},_e(c||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function ke(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[f]!==v[l];)l--;for(;f>=1&&l>=0;f--,l--)if(a[f]!==v[l]){if(f!==1||l!==1)do if(f--,l--,l<0||a[f]!==v[l]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function k(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return k(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return k(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,ce={},fe=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=k(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(x);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(x.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(x.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)x.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,l),v&&Qe(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=k(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"@chronark/access\",description:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\",repository:\"chronark/access\",date:\"2022-11-13\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\"},this):Pe(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\n\n- Fully typed\n- Zero dependencies\n- Serializable to store in a database\n\n## Install\n\n```sh-session\nnpm i @chronark/access\n```\n\n## Usage\n\n```ts\nimport { AccessControl, Role } from \"@chronark/access\";\n\n/**\n * Define all your resources and their access patterns\n *\n * key => resource\n * value => array of access types\n */\ntype Statements = {\n user: [\"read\", \"write\", \"dance\"];\n team: [\"read\", \"write\"];\n};\n\n/**\n * Create an access control instance and pass the Statements type to enjoy full\n * type safety\n */\nconst ac = new AccessControl();\n\n/**\n * Now you can define one or more roles by specifying the access permissions\n *\n * This is already fully typed and typescript will let you know if you try to\n * use anything, that is not defined in the Statements type.\n */\nconst role = ac.newRole({\n user: [\"read\", \"write\"],\n team: [\"read\"],\n});\n\n/**\n * Simulate storing and retrieving the role in a database\n *\n * The idea here is, that you can store permissions alongside an API token.\n * Now, when you verify the token, you can also verify the access permissions.\n */\nconst serialized = role.toString();\n\n/**\n * Note how you can pass in the Statements type again, to get full type safety\n */\nconst recovered = Role.fromString(serialized);\n\n/**\n * Validate the role by specifying the resource and the required access\n *\n * everything is fully typed\n */\nconst res = recovered.authorize({\"team\", [\"read\"]});\n\n// res.success => boolean\n// res.error => string | undefined provides a reason for failure\n```", + "code": "var Component=(()=>{var cn=Object.create;var S=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var z=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),fn=(i,e)=>{for(var _ in e)S(i,_,{get:e[_],enumerable:!0})},xe=(i,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of ln(e))!un.call(i,y)&&y!==_&&S(i,y,{get:()=>e[y],enumerable:!(k=bn(e,y))||k.enumerable});return i};var hn=(i,e,_)=>(_=i!=null?cn(mn(i)):{},xe(e||!i||!i.__esModule?S(_,\"default\",{value:i,enumerable:!0}):_,i)),_n=i=>xe(S({},\"__esModule\",{value:!0}),i);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var i=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),k=Symbol.for(\"react.fragment\"),y=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),P=Symbol.for(\"react.suspense_list\"),R=Symbol.for(\"react.memo\"),B=Symbol.for(\"react.lazy\"),Re=Symbol.for(\"react.offscreen\"),Z=Symbol.iterator,Ce=\"@@iterator\";function De(n){if(n===null||typeof n!=\"object\")return null;var a=Z&&n[Z]||n[Ce];return typeof a==\"function\"?a:null}var g=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function u(n){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&m>=0&&s[l]!==f[m];)m--;for(;l>=1&&m>=0;l--,m--)if(s[l]!==f[m]){if(l!==1||m!==1)do if(l--,m--,m<0||s[l]!==f[m]){var h=`\n`+s[l].replace(\" at new \",\" at \");return n.displayName&&h.includes(\"\")&&(h=h.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,h),h}while(l>=1&&m>=0);break}}}finally{$=!1,I.current=b,$e(),Error.prepareStackTrace=c}var j=n?n.displayName||n.name:\"\",ke=j?C(j):\"\";return typeof n==\"function\"&&D.set(n,ke),ke}function Ve(n,a,t){return ce(n,!1)}function Me(n){var a=n.prototype;return!!(a&&a.isReactComponent)}function w(n,a,t){if(n==null)return\"\";if(typeof n==\"function\")return ce(n,Me(n));if(typeof n==\"string\")return C(n);switch(n){case O:return C(\"Suspense\");case P:return C(\"SuspenseList\")}if(typeof n==\"object\")switch(n.$$typeof){case F:return Ve(n.render);case R:return w(n.type,a,t);case B:{var o=n,c=o._payload,b=o._init;try{return w(b(c),a,t)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,be={},ie=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);ie.setExtraStackFrame(t)}else ie.setExtraStackFrame(null)}function Le(n,a,t,o,c){{var b=Function.call.bind(T);for(var d in n)if(b(n,d)){var s=void 0;try{if(typeof n[d]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+d+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[d]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=n[d](a,d,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){s=l}s&&!(s instanceof Error)&&(A(c),u(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,d,typeof s),A(null)),s instanceof Error&&!(s.message in be)&&(be[s.message]=!0,A(c),u(\"Failed %s type: %s\",t,s.message),A(null))}}}var qe=Array.isArray;function W(n){return qe(n)}function ze(n){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&n[Symbol.toStringTag]||n.constructor.name||\"Object\";return t}}function Ge(n){try{return le(n),!1}catch{return!0}}function le(n){return\"\"+n}function me(n){if(Ge(n))return u(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),le(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ue,fe,V;V={};function Ke(n){if(T.call(n,\"ref\")){var a=Object.getOwnPropertyDescriptor(n,\"ref\").get;if(a&&a.isReactWarning)return!1}return n.ref!==void 0}function He(n){if(T.call(n,\"key\")){var a=Object.getOwnPropertyDescriptor(n,\"key\").get;if(a&&a.isReactWarning)return!1}return n.key!==void 0}function Ze(n,a){if(typeof n.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);V[t]||(u('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),n.ref),V[t]=!0)}}function Je(n,a){{var t=function(){ue||(ue=!0,u(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(n,\"key\",{get:t,configurable:!0})}}function Qe(n,a){{var t=function(){fe||(fe=!0,u(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(n,\"ref\",{get:t,configurable:!0})}}var en=function(n,a,t,o,c,b,d){var s={$$typeof:e,type:n,key:a,ref:t,props:d,_owner:b};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(n,a,t,o,c){{var b,d={},s=null,f=null;t!==void 0&&(me(t),s=\"\"+t),He(a)&&(me(a.key),s=\"\"+a.key),Ke(a)&&(f=a.ref,Ze(a,c));for(b in a)T.call(a,b)&&!Xe.hasOwnProperty(b)&&(d[b]=a[b]);if(n&&n.defaultProps){var l=n.defaultProps;for(b in l)d[b]===void 0&&(d[b]=l[b])}if(s||f){var m=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;s&&Je(d,m),f&&Qe(d,m)}return en(n,s,f,c,o,v.current,d)}}var M=g.ReactCurrentOwner,he=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var L;L=!1;function q(n){return typeof n==\"object\"&&n!==null&&n.$$typeof===e}function _e(){{if(M.current){var n=p(M.current.type);if(n)return`\n\nCheck the render method of \\``+n+\"`.\"}return\"\"}}function rn(n){{if(n!==void 0){var a=n.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=n.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(n){{var a=_e();if(!a){var t=typeof n==\"string\"?n:n.displayName||n.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(n,a){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";n&&n._owner&&n._owner!==M.current&&(o=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),u('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof n,u(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,s)}var m=nn(n,a,t,c,b);if(m==null)return m;if(d){var h=a.children;if(h!==void 0)if(o)if(W(h)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};fn(kn,{default:()=>yn,frontmatter:()=>pn});var r=hn(ve()),pn={title:\"@chronark/access\",description:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\",repository:\"chronark/access\",date:\"2022-11-13\"};function Fe(i){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},i.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(e.p,{children:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.ul,{children:[`\n`,(0,r.jsxDEV)(e.li,{children:\"Fully typed\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.li,{children:\"Zero dependencies\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.li,{children:\"Serializable to store in a database\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.h2,{id:\"install\",children:[(0,r.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,r.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(e.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#e1e4e8\"},children:\"npm i @chronark/access\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.h2,{id:\"usage\",children:[(0,r.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#usage\",children:(0,r.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:104},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { AccessControl, Role } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:146},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:207},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:247},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@chronark/access\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:284},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Define all your resources and their access patterns\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * key => resource\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * value => array of access types\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"type\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:60},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:97},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:143},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:180},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#FFAB70\"},children:\"user\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:58},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\":\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:135},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:225},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:263},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:316},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"dance\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:354},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#FFAB70\"},children:\"team\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:58},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\":\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:135},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:225},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:263},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"};\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Create an access control instance and pass the Statements type to enjoy full\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * type safety\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"ac\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:136},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:210},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:247},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:286},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"AccessControl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:323},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:372},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:412},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">();\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Now you can define one or more roles by specifying the access permissions\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * This is already fully typed and typescript will let you know if you try to\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * use anything, that is not defined in the Statements type.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"role\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:138},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:175},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" ac.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:212},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"newRole\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:252},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" user: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:65},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:117},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:155},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" team: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:65},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Simulate storing and retrieving the role in a database\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * The idea here is, that you can store permissions alongside an API token.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Now, when you verify the token, you can also verify the access permissions.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:36,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"serialized\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:144},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:181},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" role.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:218},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"toString\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:260},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"();\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:38,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Note how you can pass in the Statements type again, to get full type safety\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:40,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:41,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"recovered\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:143},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:180},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" Role.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:217},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"fromString\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:259},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:305},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:345},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">(serialized);\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:43,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:44,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Validate the role by specifying the resource and the required access\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:45,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * everything is fully typed\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:47,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:137},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:174},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" recovered.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:211},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"authorize\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:258},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:303},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"team\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:341},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:393},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:432},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"]});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// res.success => boolean\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:51,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// res.error => string | undefined provides a reason for failure\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(i={}){let{wrapper:e}=i.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},i,{children:(0,r.jsxDEV)(Fe,i,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this):Fe(i)}var yn=Nn;return _n(kn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/access.mdx", "_raw": { @@ -43,13 +43,13 @@ "slug": "envshare" }, { - "title": "Planetfall", + "title": "planetfall.io", "description": "I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.", "date": "2023-04-01T00:00:00.000Z", "url": "https://planetfall.io", "body": { - "raw": "TODO:", - "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,l)=>()=>(l||s((l={exports:{}}).exports,l),l.exports),vr=(s,l)=>{for(var b in l)A(s,b,{get:l[b],enumerable:!0})},_e=(s,l,b,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of cr(l))!dr.call(s,m)&&m!==b&&A(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,b)=>(b=s!=null?sr(fr(s)):{},_e(l||!s||!s.__esModule?A(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(A({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var we=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),l=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),O=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&f>=0&&a[c]!==v[f];)f--;for(;c>=1&&f>=0;c--,f--)if(a[c]!==v[f]){if(c!==1||f!==1)do if(c--,f--,f<0||a[c]!==v[f]){var p=`\n`+a[c].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(c>=1&&f>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case O:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,le={},ce=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ce.setExtraStackFrame(t)}else ce.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(c){a=c}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in le)&&(le[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),fe(e)}var C=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&C.current&&r&&C.current.stateNode!==r){var t=h(C.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(C.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),He(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var c=e.defaultProps;for(u in c)o[u]===void 0&&(o[u]=c[u])}if(a||v){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,f),v&&Qe(o,f)}return er(e,a,v,i,n,C.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):c=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",c,a)}var f=rr(e,r,t,i,u);if(f==null)return f;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Ce.exports=we()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(Oe()),hr={title:\"Planetfall\",description:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\",date:\"2023-04-01\",url:\"https://planetfall.io\"};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,F.jsxDEV)(l,Object.assign({},s,{children:(0,F.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\"},this):Pe(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\nI'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.", + "code": "var Component=(()=>{var sr=Object.create;var D=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,l)=>()=>(l||s((l={exports:{}}).exports,l),l.exports),vr=(s,l)=>{for(var b in l)D(s,b,{get:l[b],enumerable:!0})},_e=(s,l,b,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==b&&D(s,m,{get:()=>l[m],enumerable:!(y=lr(l,m))||y.enumerable});return s};var pr=(s,l,b)=>(b=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(D({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var we=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),l=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),H=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),O=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[f]!==v[c];)c--;for(;f>=1&&c>=0;f--,c--)if(a[f]!==v[c]){if(f!==1||c!==1)do if(f--,c--,c<0||a[f]!==v[c]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case C:return Ue(e.render);case O:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,le={},fe=_.ReactDebugCurrentFrame;function A(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(A(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),A(null)),a instanceof Error&&!(a.message in le)&&(le[a.message]=!0,A(i),d(\"Failed %s type: %s\",t,a.message),A(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),ce(e)}var P=_.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Xe(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&P.current&&r&&P.current.stateNode!==r){var t=h(P.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(P.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!He.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,P.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Pe.exports=we()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>hr});var F=pr(Ce()),hr={title:\"planetfall.io\",description:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\",date:\"2023-04-01\",url:\"https://planetfall.io\"};function Oe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,F.jsxDEV)(l,Object.assign({},s,{children:(0,F.jsxDEV)(Oe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\"},this):Oe(s)}var mr=gr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/planetfall.mdx", "_raw": { @@ -69,8 +69,8 @@ "date": "2022-07-18T00:00:00.000Z", "url": "https://upstash.com/qstash", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of cr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(lr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),Q=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=Q&&e[Q]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[c]!==v[l];)l--;for(;c>=1&&l>=0;c--,l--)if(a[c]!==v[l]){if(c!==1||l!==1)do if(c--,l--,l<0||a[c]!==v[l]){var p=`\n`+a[c].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(c>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},ce=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ce.setExtraStackFrame(t)}else ce.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(c){a=c}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Qe(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Je(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Qe(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var c=e.defaultProps;for(u in c)o[u]===void 0&&(o[u]=c[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Je(o,l),v&&Ze(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):c=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",c,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"QStash\",description:\"QStash is a fully managed serverless queue and messaging service designed for the serverless era.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\"},this):Pe(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\nQStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\n\n- 100% serverless, no stateful connections required. Messages are pushed to your API.\n- At-least-once delivery guaranteed to any public API\n- Pubsub via topics\n- Delay message delivery\n- Message deduplication\n- Scheduling via CRON\n\n\nFormally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\n\nThere was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is):\n\n- Works anywhere including serverless and edge.\n- Messaging as a service with no backend for users to run.\n- Lightweight, easy to understand, requires nothing to learn.\n- Price scales to zero.\n\nLet's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too.\n\nIf you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible.\n\nWith QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively.\n\n\nTo learn more about QStash, visit [upstash.com/qstash](upstash.com/qstash).", + "code": "var Component=(()=>{var cr=Object.create;var F=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,fr=Object.prototype.hasOwnProperty;var B=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports),mr=(l,t)=>{for(var v in t)F(l,v,{get:t[v],enumerable:!0})},Ee=(l,t,v,y)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let g of lr(t))!fr.call(l,g)&&g!==v&&F(l,g,{get:()=>t[g],enumerable:!(y=ur(t,g))||y.enumerable});return l};var hr=(l,t,v)=>(v=l!=null?cr(dr(l)):{},Ee(t||!l||!l.__esModule?F(v,\"default\",{value:l,enumerable:!0}):v,l)),br=l=>Ee(F({},\"__esModule\",{value:!0}),l);var we=B((Er,ke)=>{ke.exports=React});var xe=B(z=>{\"use strict\";(function(){\"use strict\";var l=we(),t=Symbol.for(\"react.element\"),v=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),g=Symbol.for(\"react.strict_mode\"),G=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),T=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),A=Symbol.for(\"react.suspense_list\"),j=Symbol.for(\"react.memo\"),I=Symbol.for(\"react.lazy\"),je=Symbol.for(\"react.offscreen\"),K=Symbol.iterator,Pe=\"@@iterator\";function Se(e){if(e===null||typeof e!=\"object\")return null;var r=K&&e[K]||e[Pe];return typeof r==\"function\"?r:null}var k=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function m(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a=1&&f>=0&&o[d]!==h[f];)f--;for(;d>=1&&f>=0;d--,f--)if(o[d]!==h[f]){if(d!==1||f!==1)do if(d--,f--,f<0||o[d]!==h[f]){var b=`\n`+o[d].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(d>=1&&f>=0);break}}}finally{M=!1,W.current=c,Me(),Error.prepareStackTrace=s}var x=e?e.displayName||e.name:\"\",ye=x?P(x):\"\";return typeof e==\"function\"&&S.set(e,ye),ye}function Ve(e,r,n){return ce(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function C(e,r,n){if(e==null)return\"\";if(typeof e==\"function\")return ce(e,Le(e));if(typeof e==\"string\")return P(e);switch(e){case U:return P(\"Suspense\");case A:return P(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case T:return Ve(e.render);case j:return C(e.type,r,n);case I:{var a=e,s=a._payload,c=a._init;try{return C(c(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ue={},le=k.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,n=C(e.type,e._source,r?r.type:null);le.setExtraStackFrame(n)}else le.setExtraStackFrame(null)}function qe(e,r,n,a,s){{var c=Function.call.bind(O);for(var i in e)if(c(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((a||\"React class\")+\": \"+n+\" type `\"+i+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[i]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=e[i](r,i,a,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){o=d}o&&!(o instanceof Error)&&(D(s),m(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",a||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ue)&&(ue[o.message]=!0,D(s),m(\"Failed %s type: %s\",n,o.message),D(null))}}}var Qe=Array.isArray;function $(e){return Qe(e)}function Be(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,n=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return n}}function ze(e){try{return de(e),!1}catch{return!0}}function de(e){return\"\"+e}function fe(e){if(ze(e))return m(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),de(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},me,he,V;V={};function Xe(e){if(O.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Ke(e,r){if(typeof e.ref==\"string\"&&N.current&&r&&N.current.stateNode!==r){var n=p(N.current.type);V[n]||(m('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=function(){me||(me=!0,m(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){he||(he=!0,m(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,a,s,c,i){var o={$$typeof:t,type:e,key:r,ref:n,props:i,_owner:c};return o._store={},Object.defineProperty(o._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(o,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function rr(e,r,n,a,s){{var c,i={},o=null,h=null;n!==void 0&&(fe(n),o=\"\"+n),He(r)&&(fe(r.key),o=\"\"+r.key),Xe(r)&&(h=r.ref,Ke(r,s));for(c in r)O.call(r,c)&&!Ge.hasOwnProperty(c)&&(i[c]=r[c]);if(e&&e.defaultProps){var d=e.defaultProps;for(c in d)i[c]===void 0&&(i[c]=d[c])}if(o||h){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,f),h&&Ze(i,f)}return er(e,o,h,s,a,N.current,i)}}var L=k.ReactCurrentOwner,be=k.ReactDebugCurrentFrame;function w(e){if(e){var r=e._owner,n=C(e.type,e._source,r?r.type:null);be.setExtraStackFrame(n)}else be.setExtraStackFrame(null)}var q;q=!1;function Q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===t}function ve(){{if(L.current){var e=p(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function nr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),n=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+n+\".\"}return\"\"}}var pe={};function ar(e){{var r=ve();if(!r){var n=typeof e==\"string\"?e:e.displayName||e.name;n&&(r=`\n\nCheck the top-level render call using <`+n+\">.\")}return r}}function _e(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var n=ar(r);if(pe[n])return;pe[n]=!0;var a=\"\";e&&e._owner&&e._owner!==L.current&&(a=\" It was passed a child from \"+p(e._owner.type)+\".\"),w(e),m('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,a),w(null)}}function ge(e,r){{if(typeof e!=\"object\")return;if($(e))for(var n=0;n\",o=\" Did you accidentally export a JSX literal instead of a component?\"):d=typeof e,m(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",d,o)}var f=rr(e,r,n,s,c);if(f==null)return f;if(i){var b=r.children;if(b!==void 0)if(a)if($(b)){for(var x=0;x{\"use strict\";Re.exports=xe()});var gr={};mr(gr,{default:()=>_r,frontmatter:()=>vr});var u=hr(Ne()),vr={title:\"QStash\",description:\"QStash is a fully managed serverless queue and messaging service designed for the serverless era.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\"};function Te(l){let t=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,u.jsxDEV)(u.Fragment,{children:[(0,u.jsxDEV)(t.p,{children:\"QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.ul,{children:[`\n`,(0,u.jsxDEV)(t.li,{children:\"100% serverless, no stateful connections required. Messages are pushed to your API.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"At-least-once delivery guaranteed to any public API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:16,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"Formally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"There was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is):\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.ul,{children:[`\n`,(0,u.jsxDEV)(t.li,{children:\"Works anywhere including serverless and edge.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Messaging as a service with no backend for users to run.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Lightweight, easy to understand, requires nothing to learn.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:26,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"Let's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"If you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"With QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:[\"To learn more about QStash, visit \",(0,u.jsxDEV)(t.a,{href:\"upstash.com/qstash\",children:\"upstash.com/qstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:35,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:35,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:t}=l.components||{};return t?(0,u.jsxDEV)(t,Object.assign({},l,{children:(0,u.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\"},this):Te(l)}var _r=pr;return br(gr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/qstash.mdx", "_raw": { @@ -84,34 +84,15 @@ "path": "/projects/qstash", "slug": "qstash" }, - { - "title": "Redis Query", - "description": "Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices.", - "repository": "chronark/redis-query", - "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,y)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(y=fr(f,m))||y.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),ce(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Qe(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Qe(o,c),v&&Ze(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"Redis Query\",description:\"Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices.\",repository:\"chronark/redis-query\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\"},this):Pe(s)}var mr=gr;return hr(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" - }, - "_id": "projects/redis-query.mdx", - "_raw": { - "sourceFilePath": "projects/redis-query.mdx", - "sourceFileName": "redis-query.mdx", - "sourceFileDir": "projects", - "contentType": "mdx", - "flattenedPath": "projects/redis-query" - }, - "type": "Project", - "path": "/projects/redis-query", - "slug": "redis-query" - }, { "title": "Vercel Terraform Provider", "description": "A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.", "date": "2021-03-16T00:00:00.000Z", + "url": "https://registry.terraform.io/providers/chronark/vercel/latest", "repository": "chronark/terraform-provider-vercel", "body": { - "raw": "TODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var b in c)F(s,b,{get:c[b],enumerable:!0})},_e=(s,c,b,E)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of lr(c))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>c[m],enumerable:!(E=cr(c,m))||E.enumerable});return s};var pr=(s,c,b)=>(b=s!=null?sr(fr(s)):{},_e(c||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),V=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),Y=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&f>=0&&a[l]!==v[f];)f--;for(;l>=1&&f>=0;l--,f--)if(a[l]!==v[f]){if(l!==1||f!==1)do if(l--,f--,f<0||a[l]!==v[f]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&f>=0);break}}}finally{N=!1,$.current=u,Ne(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case V:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case Y:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,ce={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function M(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),fe(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,f),v&&Qe(o,f)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(M(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var f=rr(e,r,t,i,u);if(f==null)return f;if(o){var p=r.children;if(p!==void 0)if(n)if(M(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\",lineNumber:7,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\"},this):Pe(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\n\nBack in the day when Vercel didn't have an official Terraform provider, I wrote one. \nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.\n\n```hcl\nterraform {\n required_providers {\n vercel = {\n source = \"registry.terraform.io/chronark/vercel\"\n version = \">=0.10.3\"\n }\n }\n}\n\nprovider \"vercel\" {\n token = \"\"\n}\n\nresource \"vercel_project\" \"my_project\" {\n name = \"project-via-terraform\"\n git_repository {\n type = \"github\"\n repo = \"chronark/terraform-provider-vercel\"\n }\n}\n```\n\nIt was a fun project and I learned a lot about Terraform and Vercel's API. \nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.\n\nThere have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\n\nNow that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022. \n\nPlease use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead.", + "code": "var Component=(()=>{var sr=Object.create;var S=Object.defineProperty;var ir=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var ur=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var G=(l,r)=>()=>(r||l((r={exports:{}}).exports,r),r.exports),fr=(l,r)=>{for(var _ in r)S(l,_,{get:r[_],enumerable:!0})},ve=(l,r,_,k)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let y of lr(r))!mr.call(l,y)&&y!==_&&S(l,y,{get:()=>r[y],enumerable:!(k=ir(r,y))||k.enumerable});return l};var hr=(l,r,_)=>(_=l!=null?sr(ur(l)):{},ve(r||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),br=l=>ve(S({},\"__esModule\",{value:!0}),l);var ge=G((vr,xe)=>{xe.exports=React});var Ee=G(z=>{\"use strict\";(function(){\"use strict\";var l=ge(),r=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),k=Symbol.for(\"react.fragment\"),y=Symbol.for(\"react.strict_mode\"),K=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),R=Symbol.for(\"react.forward_ref\"),A=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),F=Symbol.for(\"react.memo\"),B=Symbol.for(\"react.lazy\"),Fe=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Te=\"@@iterator\";function we(e){if(e===null||typeof e!=\"object\")return null;var a=J&&e[J]||e[Te];return typeof a==\"function\"?a:null}var x=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&m>=0&&c[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(c[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||c[u]!==h[m]){var b=`\n`+c[u].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,b),b}while(u>=1&&m>=0);break}}}finally{Y=!1,I.current=i,Ye(),Error.prepareStackTrace=s}var E=e?e.displayName||e.name:\"\",ke=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,ke),ke}function We(e,a,t){return se(e,!1)}function Me(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function C(e,a,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Me(e));if(typeof e==\"string\")return T(e);switch(e){case A:return T(\"Suspense\");case D:return T(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case R:return We(e.render);case F:return C(e.type,a,t);case B:{var o=e,s=o._payload,i=o._init;try{return C(i(s),a,t)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ie={},le=x.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Le(e,a,t,o,s){{var i=Function.call.bind(O);for(var d in e)if(i(e,d)){var c=void 0;try{if(typeof e[d]!=\"function\"){var h=Error((o||\"React class\")+\": \"+t+\" type `\"+d+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[d]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}c=e[d](a,d,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){c=u}c&&!(c instanceof Error)&&(P(s),f(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,d,typeof c),P(null)),c instanceof Error&&!(c.message in ie)&&(ie[c.message]=!0,P(s),f(\"Failed %s type: %s\",t,c.message),P(null))}}}var qe=Array.isArray;function $(e){return qe(e)}function Ge(e){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(ze(e))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),ue(e)}var U=x.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},fe,he,W;W={};function Xe(e){if(O.call(e,\"ref\")){var a=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var a=Object.getOwnPropertyDescriptor(e,\"key\").get;if(a&&a.isReactWarning)return!1}return e.key!==void 0}function Je(e,a){if(typeof e.ref==\"string\"&&U.current&&a&&U.current.stateNode!==a){var t=p(U.current.type);W[t]||(f('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(U.current.type),e.ref),W[t]=!0)}}function Ze(e,a){{var t=function(){fe||(fe=!0,f(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,a){{var t=function(){he||(he=!0,f(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,a,t,o,s,i,d){var c={$$typeof:r,type:e,key:a,ref:t,props:d,_owner:i};return c._store={},Object.defineProperty(c._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function rr(e,a,t,o,s){{var i,d={},c=null,h=null;t!==void 0&&(me(t),c=\"\"+t),He(a)&&(me(a.key),c=\"\"+a.key),Xe(a)&&(h=a.ref,Je(a,s));for(i in a)O.call(a,i)&&!Ke.hasOwnProperty(i)&&(d[i]=a[i]);if(e&&e.defaultProps){var u=e.defaultProps;for(i in u)d[i]===void 0&&(d[i]=u[i])}if(c||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;c&&Ze(d,m),h&&Qe(d,m)}return er(e,c,h,s,o,U.current,d)}}var M=x.ReactCurrentOwner,be=x.ReactDebugCurrentFrame;function g(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var L;L=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===r}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function nr(e){{if(e!==void 0){var a=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function ar(e){{var a=_e();if(!a){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(e,a){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=ar(a);if(pe[t])return;pe[t]=!0;var o=\"\";e&&e._owner&&e._owner!==M.current&&(o=\" It was passed a child from \"+p(e._owner.type)+\".\"),g(e),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),g(null)}}function ye(e,a){{if(typeof e!=\"object\")return;if($(e))for(var t=0;t\",c=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,c)}var m=rr(e,a,t,s,i);if(m==null)return m;if(d){var b=a.children;if(b!==void 0)if(o)if($(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var yr={};fr(yr,{default:()=>Nr,frontmatter:()=>_r});var n=hr(Ue()),_r={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\",url:\"https://registry.terraform.io/providers/chronark/vercel/latest\"};function Re(l){let r=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},l.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(r.p,{children:`Back in the day when Vercel didn't have an official Terraform provider, I wrote one.\nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(r.pre,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(r.code,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"terraform\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"required_providers\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:58},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:66},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:103},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:140},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" source \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:70},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:107},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"registry.terraform.io/chronark/vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" version \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:70},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:107},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\">=0.10.3\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"provider\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" token\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:63},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:100},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:137},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"resource\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"vercel_project\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:163},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"my_project\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:200},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" name\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:62},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:99},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:136},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"project-via-terraform\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"git_repository\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:58},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" type\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:138},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"github\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" repo\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:138},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"chronark/terraform-provider-vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:`It was a fun project and I learned a lot about Terraform and Vercel's API.\nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:38,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:\"There have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:41,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:[\"Now that Vercel have stepped in, I have decided to \",(0,n.jsxDEV)(r.a,{href:\"https://twitter.com/chronark_/status/1517759708983177218\",children:\"deprecate\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:43,columnNumber:52},this),\" this one on April 23rd 2022.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:43,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:[\"Please use the \",(0,n.jsxDEV)(r.a,{href:\"https://registry.terraform.io/providers/vercel/vercel/latest\",children:\"official provider\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:45,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:45,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:r}=l.components||{};return r?(0,n.jsxDEV)(r,Object.assign({},l,{children:(0,n.jsxDEV)(Re,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\"},this):Re(l)}var Nr=pr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/terraform-provider-vercel.mdx", "_raw": { @@ -219,8 +200,8 @@ "url": "https://upstash.com/kafka", "repository": "upstash/upstash-kafka", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var K=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var b in f)F(s,b,{get:f[b],enumerable:!0})},_e=(s,f,b,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,b)=>(b=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=K((_r,Re)=>{Re.exports=React});var Ce=K(q=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),z=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),P=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),w=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,ke=\"@@iterator\";function je(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[ke];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&k.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&k.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function j(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case P:return Ue(e.render);case w:return j(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return j(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=j(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(x);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function Ke(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function qe(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(qe(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ke(e)),ce(e)}var O=_.ReactCurrentOwner,ze={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Xe(e){if(x.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(x.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)x.call(r,u)&&!ze.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=j(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(Pe()),hr={title:\"@upstash/kafka\",description:\"A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes\",date:\"2022-01-08\",url:\"https://upstash.com/kafka\",repository:\"upstash/upstash-kafka\"};function we(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(we,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\"},this):we(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\nAn HTTP/REST based Kafka client built on top of\n[Upstash REST API](https://docs.upstash.com/kafka/rest).\n\nIt is the only connectionless (HTTP based) Kafka client and designed for:\n\n- Serverless functions (AWS Lambda ...)\n- Cloudflare Workers (see the example)\n- Fastly Compute@Edge\n- Next.js Edge, Remix ...\n- Client side web/mobile applications\n- WebAssembly and other environments where HTTP is preferred over TCP\n connections.\n\n# Installation\n\n```bash\nnpm install @upstash/kafka\n```\n\n# Quickstart\n\n## Auth\n\n1. Go to [upstash](https://console.upstash.com/kafka) and select your database.\n2. Copy the `REST API` secrets at the bottom of the page\n\n```typescript\nimport { Kafka } from \"@upstash/kafka\"\n\nconst kafka = new Kafka({\n url: \"\",\n username: \"\",\n password: \"\",\n})\n```\n\n## Produce a single message\n\n```typescript\nconst p = kafka.producer()\nconst message = { hello: \"world\" } // Objects will get serialized using `JSON.stringify`\nconst res = await p.produce(\"\", message)\nconst res = await p.produce(\"\", message, {\n partition: 1,\n timestamp: 12345,\n key: \"\",\n headers: [{ key: \"traceId\", value: \"85a9f12\" }],\n})\n```\n\n## Produce multiple messages.\n\nThe same options from the example above can be set for every message.\n\n```typescript\nconst p = kafka.producer()\nconst res = await p.produceMany([\n {\n topic: \"my.topic\",\n value: { hello: \"world\" },\n // ...options\n },\n {\n topic: \"another.topic\",\n value: \"another message\",\n // ...options\n },\n])\n```\n\n## Consume\n\nThe first time a consumer is created, it needs to figure out the group\ncoordinator by asking the Kafka brokers and joins the consumer group. This\nprocess takes some time to complete. That's why when a consumer instance is\ncreated first time, it may return empty messages until consumer group\ncoordination is completed.\n\n```typescript\nconst c = kafka.consumer()\nconst messages = await c.consume({\n consumerGroupId: \"group_1\",\n instanceId: \"instance_1\",\n topics: [\"test.topic\"],\n autoOffsetReset: \"earliest\",\n})\n```\n\nMore examples can be found in the\n[docstring](https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265)\n\n## Commit manually\n\nWhile `consume` can handle committing automatically, you can also use\n`Consumer.commit` to manually commit.\n\n```typescript\nconst consumerGroupId = \"mygroup\"\nconst instanceId = \"myinstance\"\nconst topic = \"my.topic\"\n\nconst c = kafka.consumer()\nconst messages = await c.consume({\n consumerGroupId,\n instanceId,\n topics: [topic],\n autoCommit: false,\n})\n\nfor (const message of messages) {\n // message handling logic\n\n await c.commit({\n consumerGroupId,\n instanceId,\n offset: {\n topic: message.topic,\n partition: message.partition,\n offset: message.offset,\n },\n })\n}\n```\n\n## Fetch\n\nYou can also manage offsets manually by using `Consumer.fetch`\n\n```typescript\nconst c = kafka.consumer()\nconst messages = await c.fetch({\n topic: \"greeting\",\n partition: 3,\n offset: 42,\n timeout: 1000,\n})\n```\n\n## Examples\n\nSee [/examples](https://github.com/upstash/upstash-kafka/tree/main/examples) as\nwell as various examples in the docstrings of each method.\n\n# Contributing\n\n## Requirements\n\n- [nodejs](https://nodejs.org) v14.x or higher\n- [pnpm](https://pnpm.io/installation)\n\n## Setup\n\n0. Install dependencies using `pnpm install`\n1. Create a kafka instance on upstash.\n [docs](https://docs.upstash.com/kafka#create-a-kafka-cluster)\n2. Create the following topics: `blue`, `red`, `green`.\n [docs](https://docs.upstash.com/kafka#create-a-topic)\n\n The partitions or retention settings don't matter at this time.\n\n3. Create `.env` file with your kafka secrets `cp .env.example .env`\n\n## Running tests\n\n```bash\npnpm test\n```\n", + "code": "var Component=(()=>{var dn=Object.create;var P=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var G=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports),fn=(m,e)=>{for(var _ in e)P(m,_,{get:e[_],enumerable:!0})},ye=(m,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of ln(e))!hn.call(m,k)&&k!==_&&P(m,k,{get:()=>e[k],enumerable:!(x=mn(e,k))||x.enumerable});return m};var bn=(m,e,_)=>(_=m!=null?dn(un(m)):{},ye(e||!m||!m.__esModule?P(_,\"default\",{value:m,enumerable:!0}):_,m)),_n=m=>ye(P({},\"__esModule\",{value:!0}),m);var Ee=G((gn,ge)=>{ge.exports=React});var je=G(q=>{\"use strict\";(function(){\"use strict\";var m=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),H=Symbol.for(\"react.profiler\"),z=Symbol.for(\"react.provider\"),X=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),A=Symbol.for(\"react.suspense_list\"),C=Symbol.for(\"react.memo\"),D=Symbol.for(\"react.lazy\"),Ce=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Re=\"@@iterator\";function Te(r){if(r===null||typeof r!=\"object\")return null;var a=J&&r[J]||r[Re];return typeof a==\"function\"?a:null}var g=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&s[l]!==f[u];)u--;for(;l>=1&&u>=0;l--,u--)if(s[l]!==f[u]){if(l!==1||u!==1)do if(l--,u--,u<0||s[l]!==f[u]){var b=`\n`+s[l].replace(\" at new \",\" at \");return r.displayName&&b.includes(\"\")&&(b=b.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,b),b}while(l>=1&&u>=0);break}}}finally{W=!1,I.current=i,We(),Error.prepareStackTrace=d}var j=r?r.displayName||r.name:\"\",xe=j?R(j):\"\";return typeof r==\"function\"&&T.set(r,xe),xe}function Me(r,a,t){return de(r,!1)}function $e(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,t){if(r==null)return\"\";if(typeof r==\"function\")return de(r,$e(r));if(typeof r==\"string\")return R(r);switch(r){case O:return R(\"Suspense\");case A:return R(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case F:return Me(r.render);case C:return w(r.type,a,t);case D:{var o=r,d=o._payload,i=o._init;try{return w(i(d),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},me=g.ReactDebugCurrentFrame;function B(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);me.setExtraStackFrame(t)}else me.setExtraStackFrame(null)}function Ve(r,a,t,o,d){{var i=Function.call.bind(S);for(var c in r)if(i(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+c+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[c]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){s=l}s&&!(s instanceof Error)&&(B(d),h(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,c,typeof s),B(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,B(d),h(\"Failed %s type: %s\",t,s.message),B(null))}}}var Ke=Array.isArray;function Y(r){return Ke(r)}function Ge(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return t}}function qe(r){try{return le(r),!1}catch{return!0}}function le(r){return\"\"+r}function ue(r){if(qe(r))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(r)),le(r)}var v=g.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},he,fe,M;M={};function ze(r){if(S.call(r,\"ref\")){var a=Object.getOwnPropertyDescriptor(r,\"ref\").get;if(a&&a.isReactWarning)return!1}return r.ref!==void 0}function Xe(r){if(S.call(r,\"key\")){var a=Object.getOwnPropertyDescriptor(r,\"key\").get;if(a&&a.isReactWarning)return!1}return r.key!==void 0}function Je(r,a){if(typeof r.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);M[t]||(h('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),r.ref),M[t]=!0)}}function Qe(r,a){{var t=function(){he||(he=!0,h(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){fe||(fe=!0,h(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:t,configurable:!0})}}var en=function(r,a,t,o,d,i,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:i};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,d){{var i,c={},s=null,f=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),ze(a)&&(f=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!He.hasOwnProperty(i)&&(c[i]=a[i]);if(r&&r.defaultProps){var l=r.defaultProps;for(i in l)c[i]===void 0&&(c[i]=l[i])}if(s||f){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),f&&Ze(c,u)}return en(r,s,f,d,o,v.current,c)}}var $=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var V;V=!1;function K(r){return typeof r==\"object\"&&r!==null&&r.$$typeof===e}function _e(){{if($.current){var r=p($.current.type);if(r)return`\n\nCheck the render method of \\``+r+\"`.\"}return\"\"}}function rn(r){{if(r!==void 0){var a=r.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var t=typeof r==\"string\"?r:r.displayName||r.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";r&&r._owner&&r._owner!==$.current&&(o=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),h('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof r,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,s)}var u=nn(r,a,t,d,i);if(u==null)return u;if(c){var b=a.children;if(b!==void 0)if(o)if(Y(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var n=bn(ve()),pn={title:\"@upstash/kafka\",description:\"A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes\",date:\"2022-01-08\",url:\"https://upstash.com/kafka\",repository:\"upstash/upstash-kafka\"};function Fe(m){let e=Object.assign({p:\"p\",a:\"a\",ul:\"ul\",li:\"li\",h1:\"h1\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\",h2:\"h2\",ol:\"ol\"},m.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(e.p,{children:[`An HTTP/REST based Kafka client built on top of\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka/rest\",children:\"Upstash REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"It is the only connectionless (HTTP based) Kafka client and designed for:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Cloudflare Workers (see the example)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Fastly Compute@Edge\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Next.js Edge, Remix ...\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Client side web/mobile applications\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:`WebAssembly and other environments where HTTP is preferred over TCP\nconnections.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"installation\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#installation\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:223},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"quickstart\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quickstart\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"auth\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#auth\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ol,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:[\"Go to \",(0,n.jsxDEV)(e.a,{href:\"https://console.upstash.com/kafka\",children:\"upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[\"Copy the \",(0,n.jsxDEV)(e.code,{children:\"REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:35,columnNumber:13},this),\" secrets at the bottom of the page\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:35,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Kafka } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/kafka\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:250},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:326},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:63},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" username: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:68},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" password: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:68},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"produce-a-single-message\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-a-single-message\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:47,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:141},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:178},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { hello: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:215},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:314},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// Objects will get serialized using `JSON.stringify`\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:371},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:408},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", message)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:371},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:408},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", message, {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" timestamp: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"12345\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" key: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:63},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" headers: [{ key: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"traceId\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", value: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:130},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"85a9f12\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" }],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:49,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"produce-multiple-messages\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-multiple-messages\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"The same options from the example above can be set for every message.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produceMany\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"([\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: { hello: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:76},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another message\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"])\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"consume\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#consume\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:81,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:`The first time a consumer is created, it needs to figure out the group\ncoordinator by asking the Kafka brokers and joins the consumer group. This\nprocess takes some time to complete. That's why when a consumer instance is\ncreated first time, it may return empty messages until consumer group\ncoordination is completed.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:83,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"group_1\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"instance_1\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:70},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"test.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoOffsetReset: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"earliest\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[`More examples can be found in the\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265\",children:\"docstring\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:100,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:99,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"commit-manually\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#commit-manually\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:102,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"While \",(0,n.jsxDEV)(e.code,{children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:104,columnNumber:7},this),` can handle committing automatically, you can also use\n`,(0,n.jsxDEV)(e.code,{children:\"Consumer.commit\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:105,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:104,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"consumerGroupId\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:270},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:307},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"mygroup\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"instanceId\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:218},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"myinstance\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"topic\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:172},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:209},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:252},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [topic],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoCommit: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"false\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:70},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"for\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" (\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:59},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:97},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:218},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"of\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:255},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" messages) {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// message handling logic\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:58},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:99},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"commit\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: message.topic,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: message.partition,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: message.offset,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:107,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"fetch\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#fetch\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:135,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"You can also manage offsets manually by using \",(0,n.jsxDEV)(e.code,{children:\"Consumer.fetch\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:137,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:137,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"fetch\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"greeting\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:65},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"3\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"42\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:66},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" timeout: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1000\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:139,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"examples\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#examples\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:149,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"See \",(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-kafka/tree/main/examples\",children:\"/examples\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:151,columnNumber:5},this),` as\nwell as various examples in the docstrings of each method.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:151,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"contributing\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:154,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"requirements\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#requirements\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:156,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:[(0,n.jsxDEV)(e.a,{href:\"https://nodejs.org\",children:\"nodejs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:(0,n.jsxDEV)(e.a,{href:\"https://pnpm.io/installation\",children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:159,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:159,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"setup\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#setup\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:161,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ol,{start:\"0\",children:[`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Install dependencies using \",(0,n.jsxDEV)(e.code,{children:\"pnpm install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[`Create a kafka instance on upstash.\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-kafka-cluster\",children:\"docs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:165,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:164,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create the following topics: \",(0,n.jsxDEV)(e.code,{children:\"blue\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:33},this),\", \",(0,n.jsxDEV)(e.code,{children:\"red\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:41},this),\", \",(0,n.jsxDEV)(e.code,{children:\"green\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:48},this),`.\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-topic\",children:\"docs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:167,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:4},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"The partitions or retention settings don't matter at this time.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:169,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create \",(0,n.jsxDEV)(e.code,{children:\".env\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:11},this),\" file with your kafka secrets \",(0,n.jsxDEV)(e.code,{children:\"cp .env.example .env\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"running-tests\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#running-tests\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:173,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"test\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:175,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(m={}){let{wrapper:e}=m.components||{};return e?(0,n.jsxDEV)(e,Object.assign({},m,{children:(0,n.jsxDEV)(Fe,m,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this):Fe(m)}var kn=Nn;return _n(xn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/upstash-kafka.mdx", "_raw": { @@ -307,8 +288,8 @@ "url": "https://upstash.com/redis", "repository": "upstash/upstash-redis", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),P=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),w=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case P:return Ue(e.render);case w:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),ce(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),He(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(Pe()),br={title:\"@upstash/redis\",description:\"A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.\",date:\"2022-03-14\",url:\"https://upstash.com/redis\",repository:\"upstash/upstash-redis\"};function we(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(we,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\"},this):we(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\n`@upstash/redis` is an HTTP/REST based Redis client for typescript, built on top\nof [Upstash REST API](https://docs.upstash.com/features/restapi).\n\nIt is the only connectionless (HTTP based) Redis client and designed for:\n\n- Serverless functions (AWS Lambda ...)\n- Cloudflare Workers (see\n [the example](https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers))\n- Fastly Compute@Edge (see\n [the example](https://github.com/upstash/upstash-redis/tree/main/examples/fastly))\n- Next.js, Jamstack ...\n- Client side web/mobile applications\n- WebAssembly\n- and other environments where HTTP is preferred over TCP.\n\nSee\n[the list of APIs](https://docs.upstash.com/features/restapi#rest---redis-api-compatibility)\nsupported.\n\n## Quick Start\n\n### Install\n\n#### Node.js\n\n```bash\nnpm install @upstash/redis\n```\n\n#### Deno\n\n```ts\nimport { Redis } from \"https://deno.land/x/upstash_redis/mod.ts\";\n```\n\n### Create database\n\nCreate a new redis database on [upstash](https://console.upstash.com/)\n\n## Basic Usage:\n\n```ts\nimport { Redis } from \"@upstash/redis\"\n\nconst redis = new Redis({\n url: ,\n token: ,\n})\n\n// string\nawait redis.set('key', 'value');\nlet data = await redis.get('key');\nconsole.log(data)\n\nawait redis.set('key2', 'value2', {ex: 1});\n\n// sorted set\nawait redis.zadd('scores', { score: 1, member: 'team1' })\ndata = await redis.zrange('scores', 0, 100 )\nconsole.log(data)\n\n// list\nawait redis.lpush('elements', 'magnesium')\ndata = await redis.lrange('elements', 0, 100 )\nconsole.log(data)\n\n// hash\nawait redis.hset('people', {name: 'joe'})\ndata = await redis.hget('people', 'name' )\nconsole.log(data)\n\n// sets\nawait redis.sadd('animals', 'cat')\ndata = await redis.spop('animals', 1)\nconsole.log(data)\n```\n", + "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),fn=(l,e)=>{for(var _ in e)O(l,_,{get:e[_],enumerable:!0})},ye=(l,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of mn(e))!bn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var hn=(l,e,_)=>(_=l!=null?dn(un(l)):{},ye(e||!l||!l.__esModule?O(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(O({},\"__esModule\",{value:!0}),l);var Ee=q((gn,ge)=>{ge.exports=React});var je=q(z=>{\"use strict\";(function(){\"use strict\";var l=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),G=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),X=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),B=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),R=Symbol.for(\"react.memo\"),A=Symbol.for(\"react.lazy\"),Re=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Ce=\"@@iterator\";function Te(r){if(r===null||typeof r!=\"object\")return null;var a=J&&r[J]||r[Ce];return typeof a==\"function\"?a:null}var g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&s[m]!==f[u];)u--;for(;m>=1&&u>=0;m--,u--)if(s[m]!==f[u]){if(m!==1||u!==1)do if(m--,u--,u<0||s[m]!==f[u]){var h=`\n`+s[m].replace(\" at new \",\" at \");return r.displayName&&h.includes(\"\")&&(h=h.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,h),h}while(m>=1&&u>=0);break}}}finally{W=!1,I.current=i,We(),Error.prepareStackTrace=d}var j=r?r.displayName||r.name:\"\",xe=j?C(j):\"\";return typeof r==\"function\"&&T.set(r,xe),xe}function $e(r,a,t){return de(r,!1)}function Me(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,t){if(r==null)return\"\";if(typeof r==\"function\")return de(r,Me(r));if(typeof r==\"string\")return C(r);switch(r){case B:return C(\"Suspense\");case D:return C(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case F:return $e(r.render);case R:return w(r.type,a,t);case A:{var o=r,d=o._payload,i=o._init;try{return w(i(d),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function P(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Ve(r,a,t,o,d){{var i=Function.call.bind(S);for(var c in r)if(i(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+c+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[c]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){s=m}s&&!(s instanceof Error)&&(P(d),b(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,c,typeof s),P(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,P(d),b(\"Failed %s type: %s\",t,s.message),P(null))}}}var He=Array.isArray;function Y(r){return He(r)}function qe(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return t}}function ze(r){try{return me(r),!1}catch{return!0}}function me(r){return\"\"+r}function ue(r){if(ze(r))return b(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(r)),me(r)}var v=g.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},be,fe,$;$={};function Ke(r){if(S.call(r,\"ref\")){var a=Object.getOwnPropertyDescriptor(r,\"ref\").get;if(a&&a.isReactWarning)return!1}return r.ref!==void 0}function Xe(r){if(S.call(r,\"key\")){var a=Object.getOwnPropertyDescriptor(r,\"key\").get;if(a&&a.isReactWarning)return!1}return r.key!==void 0}function Je(r,a){if(typeof r.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);$[t]||(b('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),r.ref),$[t]=!0)}}function Qe(r,a){{var t=function(){be||(be=!0,b(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){fe||(fe=!0,b(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:t,configurable:!0})}}var en=function(r,a,t,o,d,i,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:i};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,d){{var i,c={},s=null,f=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),Ke(a)&&(f=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(c[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)c[i]===void 0&&(c[i]=m[i])}if(s||f){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),f&&Ze(c,u)}return en(r,s,f,d,o,v.current,c)}}var M=g.ReactCurrentOwner,he=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var V;V=!1;function H(r){return typeof r==\"object\"&&r!==null&&r.$$typeof===e}function _e(){{if(M.current){var r=p(M.current.type);if(r)return`\n\nCheck the render method of \\``+r+\"`.\"}return\"\"}}function rn(r){{if(r!==void 0){var a=r.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var t=typeof r==\"string\"?r:r.displayName||r.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";r&&r._owner&&r._owner!==M.current&&(o=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),b('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof r,b(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,s)}var u=nn(r,a,t,d,i);if(u==null)return u;if(c){var h=a.children;if(h!==void 0)if(o)if(Y(h)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var n=hn(ve()),pn={title:\"@upstash/redis\",description:\"A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.\",date:\"2022-03-14\",url:\"https://upstash.com/redis\",repository:\"upstash/upstash-redis\"};function Fe(l){let e=Object.assign({p:\"p\",code:\"code\",a:\"a\",ul:\"ul\",li:\"li\",h2:\"h2\",span:\"span\",h3:\"h3\",h4:\"h4\",div:\"div\",pre:\"pre\"},l.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(e.p,{children:[(0,n.jsxDEV)(e.code,{children:\"@upstash/redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),` is an HTTP/REST based Redis client for typescript, built on top\nof `,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/features/restapi\",children:\"Upstash REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:12,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"It is the only connectionless (HTTP based) Redis client and designed for:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`Cloudflare Workers (see\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers\",children:\"the example\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`Fastly Compute@Edge (see\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/fastly\",children:\"the example\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Next.js, Jamstack ...\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Client side web/mobile applications\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"WebAssembly\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"and other environments where HTTP is preferred over TCP.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:24,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[`See\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/features/restapi#rest---redis-api-compatibility\",children:\"the list of APIs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"quick-start\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quick-start\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h3,{id:\"install\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h4,{id:\"nodejs\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#nodejs\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:223},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:36,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h4,{id:\"deno\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deno\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:40,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"https://deno.land/x/upstash_redis/mod.ts\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:270},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h3,{id:\"create-database\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#create-database\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create a new redis database on \",(0,n.jsxDEV)(e.a,{href:\"https://console.upstash.com/\",children:\"upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:48,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"basic-usage\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#basic-usage\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/redis\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:250},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:326},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: <\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_URL\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" token: <\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_TOKEN\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// string\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:229},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:267},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"let\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:59},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:101},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"get\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:259},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:335},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key2'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:230},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value2'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:268},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", {ex: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:320},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:363},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// sorted set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"zadd\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", { score: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:280},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", member: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:317},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'team1'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:363},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"zrange\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:350},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:388},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:425},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:463},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// list\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"lpush\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:236},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'magnesium'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:274},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"lrange\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:352},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:390},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:427},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:465},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// hash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"hset\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", {name: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'joe'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:278},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"hget\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:259},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:296},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:348},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'name'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:386},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// sets\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"sadd\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:234},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'cat'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:272},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:62},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:99},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:136},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:177},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"spop\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:220},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:260},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:297},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:350},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:388},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,n.jsxDEV)(e,Object.assign({},l,{children:(0,n.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this):Fe(l)}var kn=Nn;return _n(xn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/upstash-redis.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/_index.mjs b/.contentlayer/generated/Project/_index.mjs index 85fe669..58f76a0 100644 --- a/.contentlayer/generated/Project/_index.mjs +++ b/.contentlayer/generated/Project/_index.mjs @@ -1,19 +1,61 @@ // NOTE This file is auto-generated by Contentlayer -import projects__accessMdx from './projects__access.mdx.json' assert { type: 'json' } -import projects__envshareMdx from './projects__envshare.mdx.json' assert { type: 'json' } -import projects__planetfallMdx from './projects__planetfall.mdx.json' assert { type: 'json' } -import projects__qstashMdx from './projects__qstash.mdx.json' assert { type: 'json' } -import projects__redisQueryMdx from './projects__redis-query.mdx.json' assert { type: 'json' } -import projects__terraformProviderVercelMdx from './projects__terraform-provider-vercel.mdx.json' assert { type: 'json' } -import projects__upstashAuthAnalyticsMdx from './projects__upstash-auth-analytics.mdx.json' assert { type: 'json' } -import projects__upstashCliMdx from './projects__upstash-cli.mdx.json' assert { type: 'json' } -import projects__upstashCoreAnalyticsMdx from './projects__upstash-core-analytics.mdx.json' assert { type: 'json' } -import projects__upstashEdgeFlagsMdx from './projects__upstash-edge-flags.mdx.json' assert { type: 'json' } -import projects__upstashKafkaMdx from './projects__upstash-kafka.mdx.json' assert { type: 'json' } -import projects__upstashQstashSdkMdx from './projects__upstash-qstash-sdk.mdx.json' assert { type: 'json' } -import projects__upstashRatelimitMdx from './projects__upstash-ratelimit.mdx.json' assert { type: 'json' } -import projects__upstashReactUiMdx from './projects__upstash-react-ui.mdx.json' assert { type: 'json' } -import projects__upstashRedisMdx from './projects__upstash-redis.mdx.json' assert { type: 'json' } +import projects__accessMdx from "./projects__access.mdx.json" assert { + type: "json", +}; +import projects__envshareMdx from "./projects__envshare.mdx.json" assert { + type: "json", +}; +import projects__planetfallMdx from "./projects__planetfall.mdx.json" assert { + type: "json", +}; +import projects__qstashMdx from "./projects__qstash.mdx.json" assert { + type: "json", +}; +import projects__terraformProviderVercelMdx from "./projects__terraform-provider-vercel.mdx.json" assert { + type: "json", +}; +import projects__upstashAuthAnalyticsMdx from "./projects__upstash-auth-analytics.mdx.json" assert { + type: "json", +}; +import projects__upstashCliMdx from "./projects__upstash-cli.mdx.json" assert { + type: "json", +}; +import projects__upstashCoreAnalyticsMdx from "./projects__upstash-core-analytics.mdx.json" assert { + type: "json", +}; +import projects__upstashEdgeFlagsMdx from "./projects__upstash-edge-flags.mdx.json" assert { + type: "json", +}; +import projects__upstashKafkaMdx from "./projects__upstash-kafka.mdx.json" assert { + type: "json", +}; +import projects__upstashQstashSdkMdx from "./projects__upstash-qstash-sdk.mdx.json" assert { + type: "json", +}; +import projects__upstashRatelimitMdx from "./projects__upstash-ratelimit.mdx.json" assert { + type: "json", +}; +import projects__upstashReactUiMdx from "./projects__upstash-react-ui.mdx.json" assert { + type: "json", +}; +import projects__upstashRedisMdx from "./projects__upstash-redis.mdx.json" assert { + type: "json", +}; -export const allProjects = [projects__accessMdx, projects__envshareMdx, projects__planetfallMdx, projects__qstashMdx, projects__redisQueryMdx, projects__terraformProviderVercelMdx, projects__upstashAuthAnalyticsMdx, projects__upstashCliMdx, projects__upstashCoreAnalyticsMdx, projects__upstashEdgeFlagsMdx, projects__upstashKafkaMdx, projects__upstashQstashSdkMdx, projects__upstashRatelimitMdx, projects__upstashReactUiMdx, projects__upstashRedisMdx] +export const allProjects = [ + projects__accessMdx, + projects__envshareMdx, + projects__planetfallMdx, + projects__qstashMdx, + projects__terraformProviderVercelMdx, + projects__upstashAuthAnalyticsMdx, + projects__upstashCliMdx, + projects__upstashCoreAnalyticsMdx, + projects__upstashEdgeFlagsMdx, + projects__upstashKafkaMdx, + projects__upstashQstashSdkMdx, + projects__upstashRatelimitMdx, + projects__upstashReactUiMdx, + projects__upstashRedisMdx, +]; diff --git a/.contentlayer/generated/Project/projects__access.mdx.json b/.contentlayer/generated/Project/projects__access.mdx.json index 9db9cc7..b692401 100644 --- a/.contentlayer/generated/Project/projects__access.mdx.json +++ b/.contentlayer/generated/Project/projects__access.mdx.json @@ -4,8 +4,8 @@ "date": "2022-11-13T00:00:00.000Z", "repository": "chronark/access", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var h in c)F(s,h,{get:c[h],enumerable:!0})},_e=(s,c,h,E)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of fr(c))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>c[m],enumerable:!(E=cr(c,m))||E.enumerable});return s};var pr=(s,c,h)=>(h=s!=null?sr(lr(s)):{},_e(c||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function ke(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[f]!==v[l];)l--;for(;f>=1&&l>=0;f--,l--)if(a[f]!==v[l]){if(f!==1||l!==1)do if(f--,l--,l<0||a[f]!==v[l]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function k(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return k(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return k(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,ce={},fe=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=k(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(x);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(x.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(x.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)x.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,l),v&&Qe(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=k(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"@chronark/access\",description:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\",repository:\"chronark/access\",date:\"2022-11-13\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bc85a632-240c-40c2-96fe-829ddcc2f15f.mdx\"},this):Pe(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\n\n- Fully typed\n- Zero dependencies\n- Serializable to store in a database\n\n## Install\n\n```sh-session\nnpm i @chronark/access\n```\n\n## Usage\n\n```ts\nimport { AccessControl, Role } from \"@chronark/access\";\n\n/**\n * Define all your resources and their access patterns\n *\n * key => resource\n * value => array of access types\n */\ntype Statements = {\n user: [\"read\", \"write\", \"dance\"];\n team: [\"read\", \"write\"];\n};\n\n/**\n * Create an access control instance and pass the Statements type to enjoy full\n * type safety\n */\nconst ac = new AccessControl();\n\n/**\n * Now you can define one or more roles by specifying the access permissions\n *\n * This is already fully typed and typescript will let you know if you try to\n * use anything, that is not defined in the Statements type.\n */\nconst role = ac.newRole({\n user: [\"read\", \"write\"],\n team: [\"read\"],\n});\n\n/**\n * Simulate storing and retrieving the role in a database\n *\n * The idea here is, that you can store permissions alongside an API token.\n * Now, when you verify the token, you can also verify the access permissions.\n */\nconst serialized = role.toString();\n\n/**\n * Note how you can pass in the Statements type again, to get full type safety\n */\nconst recovered = Role.fromString(serialized);\n\n/**\n * Validate the role by specifying the resource and the required access\n *\n * everything is fully typed\n */\nconst res = recovered.authorize({\"team\", [\"read\"]});\n\n// res.success => boolean\n// res.error => string | undefined provides a reason for failure\n```", + "code": "var Component=(()=>{var cn=Object.create;var S=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var z=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),fn=(i,e)=>{for(var _ in e)S(i,_,{get:e[_],enumerable:!0})},xe=(i,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of ln(e))!un.call(i,y)&&y!==_&&S(i,y,{get:()=>e[y],enumerable:!(k=bn(e,y))||k.enumerable});return i};var hn=(i,e,_)=>(_=i!=null?cn(mn(i)):{},xe(e||!i||!i.__esModule?S(_,\"default\",{value:i,enumerable:!0}):_,i)),_n=i=>xe(S({},\"__esModule\",{value:!0}),i);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var i=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),k=Symbol.for(\"react.fragment\"),y=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),P=Symbol.for(\"react.suspense_list\"),R=Symbol.for(\"react.memo\"),B=Symbol.for(\"react.lazy\"),Re=Symbol.for(\"react.offscreen\"),Z=Symbol.iterator,Ce=\"@@iterator\";function De(n){if(n===null||typeof n!=\"object\")return null;var a=Z&&n[Z]||n[Ce];return typeof a==\"function\"?a:null}var g=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function u(n){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&m>=0&&s[l]!==f[m];)m--;for(;l>=1&&m>=0;l--,m--)if(s[l]!==f[m]){if(l!==1||m!==1)do if(l--,m--,m<0||s[l]!==f[m]){var h=`\n`+s[l].replace(\" at new \",\" at \");return n.displayName&&h.includes(\"\")&&(h=h.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,h),h}while(l>=1&&m>=0);break}}}finally{$=!1,I.current=b,$e(),Error.prepareStackTrace=c}var j=n?n.displayName||n.name:\"\",ke=j?C(j):\"\";return typeof n==\"function\"&&D.set(n,ke),ke}function Ve(n,a,t){return ce(n,!1)}function Me(n){var a=n.prototype;return!!(a&&a.isReactComponent)}function w(n,a,t){if(n==null)return\"\";if(typeof n==\"function\")return ce(n,Me(n));if(typeof n==\"string\")return C(n);switch(n){case O:return C(\"Suspense\");case P:return C(\"SuspenseList\")}if(typeof n==\"object\")switch(n.$$typeof){case F:return Ve(n.render);case R:return w(n.type,a,t);case B:{var o=n,c=o._payload,b=o._init;try{return w(b(c),a,t)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,be={},ie=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);ie.setExtraStackFrame(t)}else ie.setExtraStackFrame(null)}function Le(n,a,t,o,c){{var b=Function.call.bind(T);for(var d in n)if(b(n,d)){var s=void 0;try{if(typeof n[d]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+d+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[d]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=n[d](a,d,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){s=l}s&&!(s instanceof Error)&&(A(c),u(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,d,typeof s),A(null)),s instanceof Error&&!(s.message in be)&&(be[s.message]=!0,A(c),u(\"Failed %s type: %s\",t,s.message),A(null))}}}var qe=Array.isArray;function W(n){return qe(n)}function ze(n){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&n[Symbol.toStringTag]||n.constructor.name||\"Object\";return t}}function Ge(n){try{return le(n),!1}catch{return!0}}function le(n){return\"\"+n}function me(n){if(Ge(n))return u(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),le(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ue,fe,V;V={};function Ke(n){if(T.call(n,\"ref\")){var a=Object.getOwnPropertyDescriptor(n,\"ref\").get;if(a&&a.isReactWarning)return!1}return n.ref!==void 0}function He(n){if(T.call(n,\"key\")){var a=Object.getOwnPropertyDescriptor(n,\"key\").get;if(a&&a.isReactWarning)return!1}return n.key!==void 0}function Ze(n,a){if(typeof n.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);V[t]||(u('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),n.ref),V[t]=!0)}}function Je(n,a){{var t=function(){ue||(ue=!0,u(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(n,\"key\",{get:t,configurable:!0})}}function Qe(n,a){{var t=function(){fe||(fe=!0,u(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(n,\"ref\",{get:t,configurable:!0})}}var en=function(n,a,t,o,c,b,d){var s={$$typeof:e,type:n,key:a,ref:t,props:d,_owner:b};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(n,a,t,o,c){{var b,d={},s=null,f=null;t!==void 0&&(me(t),s=\"\"+t),He(a)&&(me(a.key),s=\"\"+a.key),Ke(a)&&(f=a.ref,Ze(a,c));for(b in a)T.call(a,b)&&!Xe.hasOwnProperty(b)&&(d[b]=a[b]);if(n&&n.defaultProps){var l=n.defaultProps;for(b in l)d[b]===void 0&&(d[b]=l[b])}if(s||f){var m=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;s&&Je(d,m),f&&Qe(d,m)}return en(n,s,f,c,o,v.current,d)}}var M=g.ReactCurrentOwner,he=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var L;L=!1;function q(n){return typeof n==\"object\"&&n!==null&&n.$$typeof===e}function _e(){{if(M.current){var n=p(M.current.type);if(n)return`\n\nCheck the render method of \\``+n+\"`.\"}return\"\"}}function rn(n){{if(n!==void 0){var a=n.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=n.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(n){{var a=_e();if(!a){var t=typeof n==\"string\"?n:n.displayName||n.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(n,a){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";n&&n._owner&&n._owner!==M.current&&(o=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),u('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof n,u(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,s)}var m=nn(n,a,t,c,b);if(m==null)return m;if(d){var h=a.children;if(h!==void 0)if(o)if(W(h)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};fn(kn,{default:()=>yn,frontmatter:()=>pn});var r=hn(ve()),pn={title:\"@chronark/access\",description:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\",repository:\"chronark/access\",date:\"2022-11-13\"};function Fe(i){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},i.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(e.p,{children:\"A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.ul,{children:[`\n`,(0,r.jsxDEV)(e.li,{children:\"Fully typed\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.li,{children:\"Zero dependencies\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.li,{children:\"Serializable to store in a database\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.h2,{id:\"install\",children:[(0,r.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,r.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(e.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#e1e4e8\"},children:\"npm i @chronark/access\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.h2,{id:\"usage\",children:[(0,r.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#usage\",children:(0,r.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:104},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { AccessControl, Role } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:146},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:207},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:247},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@chronark/access\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:284},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Define all your resources and their access patterns\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * key => resource\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * value => array of access types\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"type\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:60},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:97},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:143},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:180},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#FFAB70\"},children:\"user\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:58},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\":\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:135},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:225},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:263},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:316},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"dance\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:354},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#FFAB70\"},children:\"team\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:58},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\":\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:135},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:225},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:263},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"};\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Create an access control instance and pass the Statements type to enjoy full\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * type safety\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"ac\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:136},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:173},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:210},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:247},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:286},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"AccessControl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:323},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:372},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:412},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">();\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Now you can define one or more roles by specifying the access permissions\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * This is already fully typed and typescript will let you know if you try to\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * use anything, that is not defined in the Statements type.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"role\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:138},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:175},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" ac.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:212},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"newRole\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:252},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" user: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:65},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:117},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:155},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:27,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" team: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:65},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Simulate storing and retrieving the role in a database\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * The idea here is, that you can store permissions alongside an API token.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Now, when you verify the token, you can also verify the access permissions.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:36,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"serialized\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:144},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:181},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" role.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:218},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"toString\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:260},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"();\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:38,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Note how you can pass in the Statements type again, to get full type safety\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:40,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:41,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"recovered\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:143},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:180},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" Role.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:217},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"fromString\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:259},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:305},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:345},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">(serialized);\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:43,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:44,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * Validate the role by specifying the resource and the required access\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:45,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" *\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" * everything is fully typed\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:47,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\" */\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:[(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:20},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:61},this),(0,r.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:98},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:137},this),(0,r.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:174},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" recovered.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:211},this),(0,r.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"authorize\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:258},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:303},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"team\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:341},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:393},this),(0,r.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:432},this),(0,r.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"]});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:49,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// res.success => boolean\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:51,columnNumber:1},this),`\n`,(0,r.jsxDEV)(e.span,{className:\"line\",children:(0,r.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// res.error => string | undefined provides a reason for failure\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:22,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(i={}){let{wrapper:e}=i.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},i,{children:(0,r.jsxDEV)(Fe,i,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ad71b92-85b6-42db-903f-a6ab9fb0c9bd.mdx\"},this):Fe(i)}var yn=Nn;return _n(kn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/access.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__planetfall.mdx.json b/.contentlayer/generated/Project/projects__planetfall.mdx.json index 76a3293..fa03c82 100644 --- a/.contentlayer/generated/Project/projects__planetfall.mdx.json +++ b/.contentlayer/generated/Project/projects__planetfall.mdx.json @@ -1,11 +1,11 @@ { - "title": "Planetfall", + "title": "planetfall.io", "description": "I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.", "date": "2023-04-01T00:00:00.000Z", "url": "https://planetfall.io", "body": { - "raw": "TODO:", - "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,l)=>()=>(l||s((l={exports:{}}).exports,l),l.exports),vr=(s,l)=>{for(var b in l)A(s,b,{get:l[b],enumerable:!0})},_e=(s,l,b,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of cr(l))!dr.call(s,m)&&m!==b&&A(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,b)=>(b=s!=null?sr(fr(s)):{},_e(l||!s||!s.__esModule?A(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(A({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var we=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),l=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),O=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&f>=0&&a[c]!==v[f];)f--;for(;c>=1&&f>=0;c--,f--)if(a[c]!==v[f]){if(c!==1||f!==1)do if(c--,f--,f<0||a[c]!==v[f]){var p=`\n`+a[c].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(c>=1&&f>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case O:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,le={},ce=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ce.setExtraStackFrame(t)}else ce.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(c){a=c}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in le)&&(le[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),fe(e)}var C=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&C.current&&r&&C.current.stateNode!==r){var t=h(C.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(C.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),He(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var c=e.defaultProps;for(u in c)o[u]===void 0&&(o[u]=c[u])}if(a||v){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,f),v&&Qe(o,f)}return er(e,a,v,i,n,C.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):c=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",c,a)}var f=rr(e,r,t,i,u);if(f==null)return f;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Ce.exports=we()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(Oe()),hr={title:\"Planetfall\",description:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\",date:\"2023-04-01\",url:\"https://planetfall.io\"};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,F.jsxDEV)(l,Object.assign({},s,{children:(0,F.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2d7f47b8-0684-4b83-be98-e188c284cabc.mdx\"},this):Pe(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\nI'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.", + "code": "var Component=(()=>{var sr=Object.create;var D=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,l)=>()=>(l||s((l={exports:{}}).exports,l),l.exports),vr=(s,l)=>{for(var b in l)D(s,b,{get:l[b],enumerable:!0})},_e=(s,l,b,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==b&&D(s,m,{get:()=>l[m],enumerable:!(y=lr(l,m))||y.enumerable});return s};var pr=(s,l,b)=>(b=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(D({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var we=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),l=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),H=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),O=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[f]!==v[c];)c--;for(;f>=1&&c>=0;f--,c--)if(a[f]!==v[c]){if(f!==1||c!==1)do if(f--,c--,c<0||a[f]!==v[c]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case C:return Ue(e.render);case O:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,le={},fe=_.ReactDebugCurrentFrame;function A(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(A(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),A(null)),a instanceof Error&&!(a.message in le)&&(le[a.message]=!0,A(i),d(\"Failed %s type: %s\",t,a.message),A(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),ce(e)}var P=_.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Xe(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&P.current&&r&&P.current.stateNode!==r){var t=h(P.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(P.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:l,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!He.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,P.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Pe.exports=we()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>hr});var F=pr(Ce()),hr={title:\"planetfall.io\",description:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\",date:\"2023-04-01\",url:\"https://planetfall.io\"};function Oe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:\"I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,F.jsxDEV)(l,Object.assign({},s,{children:(0,F.jsxDEV)(Oe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-8b013955-b8c3-42ff-8c00-73efc2ac31ac.mdx\"},this):Oe(s)}var mr=gr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/planetfall.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__qstash.mdx.json b/.contentlayer/generated/Project/projects__qstash.mdx.json index ad9ef0d..a4bb7db 100644 --- a/.contentlayer/generated/Project/projects__qstash.mdx.json +++ b/.contentlayer/generated/Project/projects__qstash.mdx.json @@ -4,8 +4,8 @@ "date": "2022-07-18T00:00:00.000Z", "url": "https://upstash.com/qstash", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of cr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(lr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),Q=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=Q&&e[Q]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[c]!==v[l];)l--;for(;c>=1&&l>=0;c--,l--)if(a[c]!==v[l]){if(c!==1||l!==1)do if(c--,l--,l<0||a[c]!==v[l]){var p=`\n`+a[c].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(c>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},ce=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ce.setExtraStackFrame(t)}else ce.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(c){a=c}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Qe(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Je(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Qe(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var c=e.defaultProps;for(u in c)o[u]===void 0&&(o[u]=c[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Je(o,l),v&&Ze(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):c=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",c,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"QStash\",description:\"QStash is a fully managed serverless queue and messaging service designed for the serverless era.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6314e297-378a-424f-b4ba-21ffcc9375d6.mdx\"},this):Pe(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\nQStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\n\n- 100% serverless, no stateful connections required. Messages are pushed to your API.\n- At-least-once delivery guaranteed to any public API\n- Pubsub via topics\n- Delay message delivery\n- Message deduplication\n- Scheduling via CRON\n\n\nFormally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\n\nThere was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is):\n\n- Works anywhere including serverless and edge.\n- Messaging as a service with no backend for users to run.\n- Lightweight, easy to understand, requires nothing to learn.\n- Price scales to zero.\n\nLet's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too.\n\nIf you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible.\n\nWith QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively.\n\n\nTo learn more about QStash, visit [upstash.com/qstash](upstash.com/qstash).", + "code": "var Component=(()=>{var cr=Object.create;var F=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,fr=Object.prototype.hasOwnProperty;var B=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports),mr=(l,t)=>{for(var v in t)F(l,v,{get:t[v],enumerable:!0})},Ee=(l,t,v,y)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let g of lr(t))!fr.call(l,g)&&g!==v&&F(l,g,{get:()=>t[g],enumerable:!(y=ur(t,g))||y.enumerable});return l};var hr=(l,t,v)=>(v=l!=null?cr(dr(l)):{},Ee(t||!l||!l.__esModule?F(v,\"default\",{value:l,enumerable:!0}):v,l)),br=l=>Ee(F({},\"__esModule\",{value:!0}),l);var we=B((Er,ke)=>{ke.exports=React});var xe=B(z=>{\"use strict\";(function(){\"use strict\";var l=we(),t=Symbol.for(\"react.element\"),v=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),g=Symbol.for(\"react.strict_mode\"),G=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),T=Symbol.for(\"react.forward_ref\"),U=Symbol.for(\"react.suspense\"),A=Symbol.for(\"react.suspense_list\"),j=Symbol.for(\"react.memo\"),I=Symbol.for(\"react.lazy\"),je=Symbol.for(\"react.offscreen\"),K=Symbol.iterator,Pe=\"@@iterator\";function Se(e){if(e===null||typeof e!=\"object\")return null;var r=K&&e[K]||e[Pe];return typeof r==\"function\"?r:null}var k=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function m(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a=1&&f>=0&&o[d]!==h[f];)f--;for(;d>=1&&f>=0;d--,f--)if(o[d]!==h[f]){if(d!==1||f!==1)do if(d--,f--,f<0||o[d]!==h[f]){var b=`\n`+o[d].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(d>=1&&f>=0);break}}}finally{M=!1,W.current=c,Me(),Error.prepareStackTrace=s}var x=e?e.displayName||e.name:\"\",ye=x?P(x):\"\";return typeof e==\"function\"&&S.set(e,ye),ye}function Ve(e,r,n){return ce(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function C(e,r,n){if(e==null)return\"\";if(typeof e==\"function\")return ce(e,Le(e));if(typeof e==\"string\")return P(e);switch(e){case U:return P(\"Suspense\");case A:return P(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case T:return Ve(e.render);case j:return C(e.type,r,n);case I:{var a=e,s=a._payload,c=a._init;try{return C(c(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ue={},le=k.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,n=C(e.type,e._source,r?r.type:null);le.setExtraStackFrame(n)}else le.setExtraStackFrame(null)}function qe(e,r,n,a,s){{var c=Function.call.bind(O);for(var i in e)if(c(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((a||\"React class\")+\": \"+n+\" type `\"+i+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[i]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=e[i](r,i,a,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){o=d}o&&!(o instanceof Error)&&(D(s),m(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",a||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ue)&&(ue[o.message]=!0,D(s),m(\"Failed %s type: %s\",n,o.message),D(null))}}}var Qe=Array.isArray;function $(e){return Qe(e)}function Be(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,n=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return n}}function ze(e){try{return de(e),!1}catch{return!0}}function de(e){return\"\"+e}function fe(e){if(ze(e))return m(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),de(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},me,he,V;V={};function Xe(e){if(O.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Ke(e,r){if(typeof e.ref==\"string\"&&N.current&&r&&N.current.stateNode!==r){var n=p(N.current.type);V[n]||(m('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=function(){me||(me=!0,m(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){he||(he=!0,m(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,a,s,c,i){var o={$$typeof:t,type:e,key:r,ref:n,props:i,_owner:c};return o._store={},Object.defineProperty(o._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(o,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function rr(e,r,n,a,s){{var c,i={},o=null,h=null;n!==void 0&&(fe(n),o=\"\"+n),He(r)&&(fe(r.key),o=\"\"+r.key),Xe(r)&&(h=r.ref,Ke(r,s));for(c in r)O.call(r,c)&&!Ge.hasOwnProperty(c)&&(i[c]=r[c]);if(e&&e.defaultProps){var d=e.defaultProps;for(c in d)i[c]===void 0&&(i[c]=d[c])}if(o||h){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,f),h&&Ze(i,f)}return er(e,o,h,s,a,N.current,i)}}var L=k.ReactCurrentOwner,be=k.ReactDebugCurrentFrame;function w(e){if(e){var r=e._owner,n=C(e.type,e._source,r?r.type:null);be.setExtraStackFrame(n)}else be.setExtraStackFrame(null)}var q;q=!1;function Q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===t}function ve(){{if(L.current){var e=p(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function nr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),n=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+n+\".\"}return\"\"}}var pe={};function ar(e){{var r=ve();if(!r){var n=typeof e==\"string\"?e:e.displayName||e.name;n&&(r=`\n\nCheck the top-level render call using <`+n+\">.\")}return r}}function _e(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var n=ar(r);if(pe[n])return;pe[n]=!0;var a=\"\";e&&e._owner&&e._owner!==L.current&&(a=\" It was passed a child from \"+p(e._owner.type)+\".\"),w(e),m('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,a),w(null)}}function ge(e,r){{if(typeof e!=\"object\")return;if($(e))for(var n=0;n\",o=\" Did you accidentally export a JSX literal instead of a component?\"):d=typeof e,m(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",d,o)}var f=rr(e,r,n,s,c);if(f==null)return f;if(i){var b=r.children;if(b!==void 0)if(a)if($(b)){for(var x=0;x{\"use strict\";Re.exports=xe()});var gr={};mr(gr,{default:()=>_r,frontmatter:()=>vr});var u=hr(Ne()),vr={title:\"QStash\",description:\"QStash is a fully managed serverless queue and messaging service designed for the serverless era.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\"};function Te(l){let t=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,u.jsxDEV)(u.Fragment,{children:[(0,u.jsxDEV)(t.p,{children:\"QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.ul,{children:[`\n`,(0,u.jsxDEV)(t.li,{children:\"100% serverless, no stateful connections required. Messages are pushed to your API.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"At-least-once delivery guaranteed to any public API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:16,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"Formally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"There was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is):\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.ul,{children:[`\n`,(0,u.jsxDEV)(t.li,{children:\"Works anywhere including serverless and edge.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Messaging as a service with no backend for users to run.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Lightweight, easy to understand, requires nothing to learn.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:26,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"Let's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"If you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:\"With QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,u.jsxDEV)(t.p,{children:[\"To learn more about QStash, visit \",(0,u.jsxDEV)(t.a,{href:\"upstash.com/qstash\",children:\"upstash.com/qstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:35,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:35,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:t}=l.components||{};return t?(0,u.jsxDEV)(t,Object.assign({},l,{children:(0,u.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-bf5d5ea4-ad36-4222-9010-4c12fdd3ac3b.mdx\"},this):Te(l)}var _r=pr;return br(gr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/qstash.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__redis-query.mdx.json b/.contentlayer/generated/Project/projects__redis-query.mdx.json index 96bdec2..c7033e1 100644 --- a/.contentlayer/generated/Project/projects__redis-query.mdx.json +++ b/.contentlayer/generated/Project/projects__redis-query.mdx.json @@ -4,7 +4,7 @@ "repository": "chronark/redis-query", "body": { "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,y)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(y=fr(f,m))||y.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),ce(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Qe(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Qe(o,c),v&&Ze(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"Redis Query\",description:\"Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices.\",repository:\"chronark/redis-query\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e3d80f0e-9dd3-46e9-a84d-084e7203980a.mdx\"},this):Pe(s)}var mr=gr;return hr(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var lr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var G=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var b in c)F(s,b,{get:c[b],enumerable:!0})},_e=(s,c,b,y)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of fr(c))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>c[m],enumerable:!(y=cr(c,m))||y.enumerable});return s};var pr=(s,c,b)=>(b=s!=null?sr(lr(s)):{},_e(c||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=G((_r,Re)=>{Re.exports=React});var Ce=G(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&l>=0&&a[f]!==v[l];)l--;for(;f>=1&&l>=0;f--,l--)if(a[f]!==v[l]){if(f!==1||l!==1)do if(f--,l--,l<0||a[f]!==v[l]){var p=`\n`+a[f].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(f>=1&&l>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",Ee=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,Ee),Ee}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,ce={},fe=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){a=f}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var qe=Array.isArray;function V(e){return qe(e)}function Ge(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return le(e),!1}catch{return!0}}function le(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Qe(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Ze(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)o[u]===void 0&&(o[u]=f[u])}if(a||v){var l=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Qe(o,l),v&&Ze(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function ye(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):f=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,a)}var l=rr(e,r,t,i,u);if(l==null)return l;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var yr={};vr(yr,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Redis Query\",description:\"Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices.\",repository:\"chronark/redis-query\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d9fe6cd5-b688-4540-987e-8a0d0a8d84d8.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d9fe6cd5-b688-4540-987e-8a0d0a8d84d8.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d9fe6cd5-b688-4540-987e-8a0d0a8d84d8.mdx\"},this):Pe(s)}var mr=gr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/redis-query.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json b/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json index e0c997e..ea44a9c 100644 --- a/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json +++ b/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json @@ -2,10 +2,11 @@ "title": "Vercel Terraform Provider", "description": "A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.", "date": "2021-03-16T00:00:00.000Z", + "url": "https://registry.terraform.io/providers/chronark/vercel/latest", "repository": "chronark/terraform-provider-vercel", "body": { - "raw": "TODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,c)=>()=>(c||s((c={exports:{}}).exports,c),c.exports),vr=(s,c)=>{for(var b in c)F(s,b,{get:c[b],enumerable:!0})},_e=(s,c,b,E)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let m of lr(c))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>c[m],enumerable:!(E=cr(c,m))||E.enumerable});return s};var pr=(s,c,b)=>(b=s!=null?sr(fr(s)):{},_e(c||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),c=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),w=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),V=Symbol.for(\"react.suspense_list\"),P=Symbol.for(\"react.memo\"),Y=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&f>=0&&a[l]!==v[f];)f--;for(;l>=1&&f>=0;l--,f--)if(a[l]!==v[f]){if(l!==1||f!==1)do if(l--,f--,f<0||a[l]!==v[f]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&f>=0);break}}}finally{N=!1,$.current=u,Ne(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case V:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case w:return Ue(e.render);case P:return x(e.type,r,t);case Y:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,ce={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in ce)&&(ce[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function M(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),fe(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Ke(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:c,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Ke(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var f=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,f),v&&Qe(o,f)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===c}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(M(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var f=rr(e,r,t,i,u);if(f==null)return f;if(o){var p=r.children;if(p!==void 0)if(n)if(M(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\",lineNumber:7,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,A.jsxDEV)(c,Object.assign({},s,{children:(0,A.jsxDEV)(Pe,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b4d7431-b999-482b-8c74-8651810a5da9.mdx\"},this):Pe(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\n\nBack in the day when Vercel didn't have an official Terraform provider, I wrote one. \nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.\n\n```hcl\nterraform {\n required_providers {\n vercel = {\n source = \"registry.terraform.io/chronark/vercel\"\n version = \">=0.10.3\"\n }\n }\n}\n\nprovider \"vercel\" {\n token = \"\"\n}\n\nresource \"vercel_project\" \"my_project\" {\n name = \"project-via-terraform\"\n git_repository {\n type = \"github\"\n repo = \"chronark/terraform-provider-vercel\"\n }\n}\n```\n\nIt was a fun project and I learned a lot about Terraform and Vercel's API. \nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.\n\nThere have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\n\nNow that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022. \n\nPlease use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead.", + "code": "var Component=(()=>{var sr=Object.create;var S=Object.defineProperty;var ir=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var ur=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var G=(l,r)=>()=>(r||l((r={exports:{}}).exports,r),r.exports),fr=(l,r)=>{for(var _ in r)S(l,_,{get:r[_],enumerable:!0})},ve=(l,r,_,k)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let y of lr(r))!mr.call(l,y)&&y!==_&&S(l,y,{get:()=>r[y],enumerable:!(k=ir(r,y))||k.enumerable});return l};var hr=(l,r,_)=>(_=l!=null?sr(ur(l)):{},ve(r||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),br=l=>ve(S({},\"__esModule\",{value:!0}),l);var ge=G((vr,xe)=>{xe.exports=React});var Ee=G(z=>{\"use strict\";(function(){\"use strict\";var l=ge(),r=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),k=Symbol.for(\"react.fragment\"),y=Symbol.for(\"react.strict_mode\"),K=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),R=Symbol.for(\"react.forward_ref\"),A=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),F=Symbol.for(\"react.memo\"),B=Symbol.for(\"react.lazy\"),Fe=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Te=\"@@iterator\";function we(e){if(e===null||typeof e!=\"object\")return null;var a=J&&e[J]||e[Te];return typeof a==\"function\"?a:null}var x=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&m>=0&&c[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(c[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||c[u]!==h[m]){var b=`\n`+c[u].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,b),b}while(u>=1&&m>=0);break}}}finally{Y=!1,I.current=i,Ye(),Error.prepareStackTrace=s}var E=e?e.displayName||e.name:\"\",ke=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,ke),ke}function We(e,a,t){return se(e,!1)}function Me(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function C(e,a,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Me(e));if(typeof e==\"string\")return T(e);switch(e){case A:return T(\"Suspense\");case D:return T(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case R:return We(e.render);case F:return C(e.type,a,t);case B:{var o=e,s=o._payload,i=o._init;try{return C(i(s),a,t)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ie={},le=x.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Le(e,a,t,o,s){{var i=Function.call.bind(O);for(var d in e)if(i(e,d)){var c=void 0;try{if(typeof e[d]!=\"function\"){var h=Error((o||\"React class\")+\": \"+t+\" type `\"+d+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[d]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}c=e[d](a,d,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){c=u}c&&!(c instanceof Error)&&(P(s),f(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,d,typeof c),P(null)),c instanceof Error&&!(c.message in ie)&&(ie[c.message]=!0,P(s),f(\"Failed %s type: %s\",t,c.message),P(null))}}}var qe=Array.isArray;function $(e){return qe(e)}function Ge(e){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(ze(e))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),ue(e)}var U=x.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},fe,he,W;W={};function Xe(e){if(O.call(e,\"ref\")){var a=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var a=Object.getOwnPropertyDescriptor(e,\"key\").get;if(a&&a.isReactWarning)return!1}return e.key!==void 0}function Je(e,a){if(typeof e.ref==\"string\"&&U.current&&a&&U.current.stateNode!==a){var t=p(U.current.type);W[t]||(f('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(U.current.type),e.ref),W[t]=!0)}}function Ze(e,a){{var t=function(){fe||(fe=!0,f(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,a){{var t=function(){he||(he=!0,f(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,a,t,o,s,i,d){var c={$$typeof:r,type:e,key:a,ref:t,props:d,_owner:i};return c._store={},Object.defineProperty(c._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function rr(e,a,t,o,s){{var i,d={},c=null,h=null;t!==void 0&&(me(t),c=\"\"+t),He(a)&&(me(a.key),c=\"\"+a.key),Xe(a)&&(h=a.ref,Je(a,s));for(i in a)O.call(a,i)&&!Ke.hasOwnProperty(i)&&(d[i]=a[i]);if(e&&e.defaultProps){var u=e.defaultProps;for(i in u)d[i]===void 0&&(d[i]=u[i])}if(c||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;c&&Ze(d,m),h&&Qe(d,m)}return er(e,c,h,s,o,U.current,d)}}var M=x.ReactCurrentOwner,be=x.ReactDebugCurrentFrame;function g(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var L;L=!1;function q(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===r}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function nr(e){{if(e!==void 0){var a=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function ar(e){{var a=_e();if(!a){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(e,a){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=ar(a);if(pe[t])return;pe[t]=!0;var o=\"\";e&&e._owner&&e._owner!==M.current&&(o=\" It was passed a child from \"+p(e._owner.type)+\".\"),g(e),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),g(null)}}function ye(e,a){{if(typeof e!=\"object\")return;if($(e))for(var t=0;t\",c=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,c)}var m=rr(e,a,t,s,i);if(m==null)return m;if(d){var b=a.children;if(b!==void 0)if(o)if($(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var yr={};fr(yr,{default:()=>Nr,frontmatter:()=>_r});var n=hr(Ue()),_r={title:\"Vercel Terraform Provider\",description:\"A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider.\",date:\"2021-03-16\",repository:\"chronark/terraform-provider-vercel\",url:\"https://registry.terraform.io/providers/chronark/vercel/latest\"};function Re(l){let r=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},l.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(r.p,{children:`Back in the day when Vercel didn't have an official Terraform provider, I wrote one.\nI needed to manage my Vercel projects and especially sync environment variables from different cloud providers.\nTerraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(r.pre,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(r.code,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"terraform\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"required_providers\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:58},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:66},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:103},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:140},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" source \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:70},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:107},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"registry.terraform.io/chronark/vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" version \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:70},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:107},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\">=0.10.3\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"provider\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" token\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:63},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:100},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:137},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"resource\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"vercel_project\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:163},this),(0,n.jsxDEV)(r.span,{style:{color:\"#79B8FF\"},children:'\"my_project\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:200},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" name\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:62},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:99},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:136},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"project-via-terraform\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#B392F0\"},children:\"git_repository\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:58},this),(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" type\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:138},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"github\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:[(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" repo\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:20},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:64},this),(0,n.jsxDEV)(r.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:101},this),(0,n.jsxDEV)(r.span,{style:{color:\"#FFAB70\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:138},this),(0,n.jsxDEV)(r.span,{style:{color:\"#9ECBFF\"},children:'\"chronark/terraform-provider-vercel\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.span,{className:\"line\",children:(0,n.jsxDEV)(r.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:`It was a fun project and I learned a lot about Terraform and Vercel's API.\nIt gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:38,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:\"There have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:41,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:[\"Now that Vercel have stepped in, I have decided to \",(0,n.jsxDEV)(r.a,{href:\"https://twitter.com/chronark_/status/1517759708983177218\",children:\"deprecate\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:43,columnNumber:52},this),\" this one on April 23rd 2022.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:43,columnNumber:1},this),`\n`,(0,n.jsxDEV)(r.p,{children:[\"Please use the \",(0,n.jsxDEV)(r.a,{href:\"https://registry.terraform.io/providers/vercel/vercel/latest\",children:\"official provider\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:45,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:45,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:r}=l.components||{};return r?(0,n.jsxDEV)(r,Object.assign({},l,{children:(0,n.jsxDEV)(Re,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-dc2636e0-fc29-44c4-adf0-6019d02e96da.mdx\"},this):Re(l)}var Nr=pr;return br(yr);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/terraform-provider-vercel.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json b/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json index accb8a1..829e058 100644 --- a/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json @@ -5,8 +5,8 @@ "url": "https://upstash.com/kafka", "repository": "upstash/upstash-kafka", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var K=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var b in f)F(s,b,{get:f[b],enumerable:!0})},_e=(s,f,b,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==b&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,b)=>(b=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(b,\"default\",{value:s,enumerable:!0}):b,s)),br=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=K((_r,Re)=>{Re.exports=React});var Ce=K(q=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),b=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),z=Symbol.for(\"react.profiler\"),X=Symbol.for(\"react.provider\"),H=Symbol.for(\"react.context\"),P=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),w=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,ke=\"@@iterator\";function je(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[ke];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&k.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&k.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function j(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case P:return Ue(e.render);case w:return j(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return j(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=j(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(x);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function Ke(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function qe(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(qe(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ke(e)),ce(e)}var O=_.ReactCurrentOwner,ze={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function Xe(e){if(x.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(x.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=h(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',h(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),He(r)&&(de(r.key),a=\"\"+r.key),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)x.call(r,u)&&!ze.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,be=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=j(e.type,e._source,r?r.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function he(){{if(L.current){var e=h(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=he();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+h(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(Pe()),hr={title:\"@upstash/kafka\",description:\"A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes\",date:\"2022-01-08\",url:\"https://upstash.com/kafka\",repository:\"upstash/upstash-kafka\"};function we(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(we,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0fb9065e-d09f-48b9-83a1-9b3402541545.mdx\"},this):we(s)}var mr=gr;return br(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\nAn HTTP/REST based Kafka client built on top of\n[Upstash REST API](https://docs.upstash.com/kafka/rest).\n\nIt is the only connectionless (HTTP based) Kafka client and designed for:\n\n- Serverless functions (AWS Lambda ...)\n- Cloudflare Workers (see the example)\n- Fastly Compute@Edge\n- Next.js Edge, Remix ...\n- Client side web/mobile applications\n- WebAssembly and other environments where HTTP is preferred over TCP\n connections.\n\n# Installation\n\n```bash\nnpm install @upstash/kafka\n```\n\n# Quickstart\n\n## Auth\n\n1. Go to [upstash](https://console.upstash.com/kafka) and select your database.\n2. Copy the `REST API` secrets at the bottom of the page\n\n```typescript\nimport { Kafka } from \"@upstash/kafka\"\n\nconst kafka = new Kafka({\n url: \"\",\n username: \"\",\n password: \"\",\n})\n```\n\n## Produce a single message\n\n```typescript\nconst p = kafka.producer()\nconst message = { hello: \"world\" } // Objects will get serialized using `JSON.stringify`\nconst res = await p.produce(\"\", message)\nconst res = await p.produce(\"\", message, {\n partition: 1,\n timestamp: 12345,\n key: \"\",\n headers: [{ key: \"traceId\", value: \"85a9f12\" }],\n})\n```\n\n## Produce multiple messages.\n\nThe same options from the example above can be set for every message.\n\n```typescript\nconst p = kafka.producer()\nconst res = await p.produceMany([\n {\n topic: \"my.topic\",\n value: { hello: \"world\" },\n // ...options\n },\n {\n topic: \"another.topic\",\n value: \"another message\",\n // ...options\n },\n])\n```\n\n## Consume\n\nThe first time a consumer is created, it needs to figure out the group\ncoordinator by asking the Kafka brokers and joins the consumer group. This\nprocess takes some time to complete. That's why when a consumer instance is\ncreated first time, it may return empty messages until consumer group\ncoordination is completed.\n\n```typescript\nconst c = kafka.consumer()\nconst messages = await c.consume({\n consumerGroupId: \"group_1\",\n instanceId: \"instance_1\",\n topics: [\"test.topic\"],\n autoOffsetReset: \"earliest\",\n})\n```\n\nMore examples can be found in the\n[docstring](https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265)\n\n## Commit manually\n\nWhile `consume` can handle committing automatically, you can also use\n`Consumer.commit` to manually commit.\n\n```typescript\nconst consumerGroupId = \"mygroup\"\nconst instanceId = \"myinstance\"\nconst topic = \"my.topic\"\n\nconst c = kafka.consumer()\nconst messages = await c.consume({\n consumerGroupId,\n instanceId,\n topics: [topic],\n autoCommit: false,\n})\n\nfor (const message of messages) {\n // message handling logic\n\n await c.commit({\n consumerGroupId,\n instanceId,\n offset: {\n topic: message.topic,\n partition: message.partition,\n offset: message.offset,\n },\n })\n}\n```\n\n## Fetch\n\nYou can also manage offsets manually by using `Consumer.fetch`\n\n```typescript\nconst c = kafka.consumer()\nconst messages = await c.fetch({\n topic: \"greeting\",\n partition: 3,\n offset: 42,\n timeout: 1000,\n})\n```\n\n## Examples\n\nSee [/examples](https://github.com/upstash/upstash-kafka/tree/main/examples) as\nwell as various examples in the docstrings of each method.\n\n# Contributing\n\n## Requirements\n\n- [nodejs](https://nodejs.org) v14.x or higher\n- [pnpm](https://pnpm.io/installation)\n\n## Setup\n\n0. Install dependencies using `pnpm install`\n1. Create a kafka instance on upstash.\n [docs](https://docs.upstash.com/kafka#create-a-kafka-cluster)\n2. Create the following topics: `blue`, `red`, `green`.\n [docs](https://docs.upstash.com/kafka#create-a-topic)\n\n The partitions or retention settings don't matter at this time.\n\n3. Create `.env` file with your kafka secrets `cp .env.example .env`\n\n## Running tests\n\n```bash\npnpm test\n```\n", + "code": "var Component=(()=>{var dn=Object.create;var P=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var G=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports),fn=(m,e)=>{for(var _ in e)P(m,_,{get:e[_],enumerable:!0})},ye=(m,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of ln(e))!hn.call(m,k)&&k!==_&&P(m,k,{get:()=>e[k],enumerable:!(x=mn(e,k))||x.enumerable});return m};var bn=(m,e,_)=>(_=m!=null?dn(un(m)):{},ye(e||!m||!m.__esModule?P(_,\"default\",{value:m,enumerable:!0}):_,m)),_n=m=>ye(P({},\"__esModule\",{value:!0}),m);var Ee=G((gn,ge)=>{ge.exports=React});var je=G(q=>{\"use strict\";(function(){\"use strict\";var m=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),H=Symbol.for(\"react.profiler\"),z=Symbol.for(\"react.provider\"),X=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),O=Symbol.for(\"react.suspense\"),A=Symbol.for(\"react.suspense_list\"),C=Symbol.for(\"react.memo\"),D=Symbol.for(\"react.lazy\"),Ce=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Re=\"@@iterator\";function Te(r){if(r===null||typeof r!=\"object\")return null;var a=J&&r[J]||r[Re];return typeof a==\"function\"?a:null}var g=m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&s[l]!==f[u];)u--;for(;l>=1&&u>=0;l--,u--)if(s[l]!==f[u]){if(l!==1||u!==1)do if(l--,u--,u<0||s[l]!==f[u]){var b=`\n`+s[l].replace(\" at new \",\" at \");return r.displayName&&b.includes(\"\")&&(b=b.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,b),b}while(l>=1&&u>=0);break}}}finally{W=!1,I.current=i,We(),Error.prepareStackTrace=d}var j=r?r.displayName||r.name:\"\",xe=j?R(j):\"\";return typeof r==\"function\"&&T.set(r,xe),xe}function Me(r,a,t){return de(r,!1)}function $e(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,t){if(r==null)return\"\";if(typeof r==\"function\")return de(r,$e(r));if(typeof r==\"string\")return R(r);switch(r){case O:return R(\"Suspense\");case A:return R(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case F:return Me(r.render);case C:return w(r.type,a,t);case D:{var o=r,d=o._payload,i=o._init;try{return w(i(d),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},me=g.ReactDebugCurrentFrame;function B(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);me.setExtraStackFrame(t)}else me.setExtraStackFrame(null)}function Ve(r,a,t,o,d){{var i=Function.call.bind(S);for(var c in r)if(i(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+c+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[c]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){s=l}s&&!(s instanceof Error)&&(B(d),h(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,c,typeof s),B(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,B(d),h(\"Failed %s type: %s\",t,s.message),B(null))}}}var Ke=Array.isArray;function Y(r){return Ke(r)}function Ge(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return t}}function qe(r){try{return le(r),!1}catch{return!0}}function le(r){return\"\"+r}function ue(r){if(qe(r))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(r)),le(r)}var v=g.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},he,fe,M;M={};function ze(r){if(S.call(r,\"ref\")){var a=Object.getOwnPropertyDescriptor(r,\"ref\").get;if(a&&a.isReactWarning)return!1}return r.ref!==void 0}function Xe(r){if(S.call(r,\"key\")){var a=Object.getOwnPropertyDescriptor(r,\"key\").get;if(a&&a.isReactWarning)return!1}return r.key!==void 0}function Je(r,a){if(typeof r.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);M[t]||(h('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),r.ref),M[t]=!0)}}function Qe(r,a){{var t=function(){he||(he=!0,h(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){fe||(fe=!0,h(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:t,configurable:!0})}}var en=function(r,a,t,o,d,i,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:i};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,d){{var i,c={},s=null,f=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),ze(a)&&(f=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!He.hasOwnProperty(i)&&(c[i]=a[i]);if(r&&r.defaultProps){var l=r.defaultProps;for(i in l)c[i]===void 0&&(c[i]=l[i])}if(s||f){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),f&&Ze(c,u)}return en(r,s,f,d,o,v.current,c)}}var $=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var V;V=!1;function K(r){return typeof r==\"object\"&&r!==null&&r.$$typeof===e}function _e(){{if($.current){var r=p($.current.type);if(r)return`\n\nCheck the render method of \\``+r+\"`.\"}return\"\"}}function rn(r){{if(r!==void 0){var a=r.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var t=typeof r==\"string\"?r:r.displayName||r.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";r&&r._owner&&r._owner!==$.current&&(o=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),h('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof r,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,s)}var u=nn(r,a,t,d,i);if(u==null)return u;if(c){var b=a.children;if(b!==void 0)if(o)if(Y(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var n=bn(ve()),pn={title:\"@upstash/kafka\",description:\"A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes\",date:\"2022-01-08\",url:\"https://upstash.com/kafka\",repository:\"upstash/upstash-kafka\"};function Fe(m){let e=Object.assign({p:\"p\",a:\"a\",ul:\"ul\",li:\"li\",h1:\"h1\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\",h2:\"h2\",ol:\"ol\"},m.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(e.p,{children:[`An HTTP/REST based Kafka client built on top of\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka/rest\",children:\"Upstash REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"It is the only connectionless (HTTP based) Kafka client and designed for:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Cloudflare Workers (see the example)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Fastly Compute@Edge\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Next.js Edge, Remix ...\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Client side web/mobile applications\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:`WebAssembly and other environments where HTTP is preferred over TCP\nconnections.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"installation\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#installation\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:223},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"quickstart\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quickstart\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"auth\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#auth\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ol,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:[\"Go to \",(0,n.jsxDEV)(e.a,{href:\"https://console.upstash.com/kafka\",children:\"upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[\"Copy the \",(0,n.jsxDEV)(e.code,{children:\"REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:35,columnNumber:13},this),\" secrets at the bottom of the page\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:35,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Kafka } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/kafka\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:250},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Kafka\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:326},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:63},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" username: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:68},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" password: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:68},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"produce-a-single-message\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-a-single-message\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:47,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:141},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:178},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { hello: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:215},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:314},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// Objects will get serialized using `JSON.stringify`\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:371},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:408},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", message)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:371},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:408},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", message, {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" timestamp: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"12345\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" key: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:63},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" headers: [{ key: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"traceId\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", value: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:130},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"85a9f12\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" }],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:49,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"produce-multiple-messages\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-multiple-messages\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"The same options from the example above can be set for every message.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:137},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:174},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:211},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:248},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"produceMany\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:328},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"([\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: { hello: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:76},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another message\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"])\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"consume\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#consume\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:81,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:`The first time a consumer is created, it needs to figure out the group\ncoordinator by asking the Kafka brokers and joins the consumer group. This\nprocess takes some time to complete. That's why when a consumer instance is\ncreated first time, it may return empty messages until consumer group\ncoordination is completed.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:83,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"group_1\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"instance_1\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:70},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"test.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoOffsetReset: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"earliest\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:75},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[`More examples can be found in the\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265\",children:\"docstring\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:100,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:99,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"commit-manually\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#commit-manually\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:102,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"While \",(0,n.jsxDEV)(e.code,{children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:104,columnNumber:7},this),` can handle committing automatically, you can also use\n`,(0,n.jsxDEV)(e.code,{children:\"Consumer.commit\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:105,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:104,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"consumerGroupId\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:270},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:307},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"mygroup\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"instanceId\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:218},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"myinstance\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"topic\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:172},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:209},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:252},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [topic],\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoCommit: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"false\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:70},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"for\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" (\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:59},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:97},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:218},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"of\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:255},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" messages) {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// message handling logic\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:58},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:99},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"commit\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: message.topic,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: message.partition,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: message.offset,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:107,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"fetch\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#fetch\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:135,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"You can also manage offsets manually by using \",(0,n.jsxDEV)(e.code,{children:\"Consumer.fetch\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:137,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:137,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:256},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:293},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:336},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:142},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:179},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:253},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:294},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"fetch\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:333},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"greeting\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:65},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"3\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"42\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:66},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" timeout: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1000\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:139,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"examples\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#examples\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:149,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"See \",(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-kafka/tree/main/examples\",children:\"/examples\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:151,columnNumber:5},this),` as\nwell as various examples in the docstrings of each method.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:151,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h1,{id:\"contributing\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:154,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"requirements\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#requirements\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:156,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:[(0,n.jsxDEV)(e.a,{href:\"https://nodejs.org\",children:\"nodejs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:(0,n.jsxDEV)(e.a,{href:\"https://pnpm.io/installation\",children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:159,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:159,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:158,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"setup\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#setup\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:161,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ol,{start:\"0\",children:[`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Install dependencies using \",(0,n.jsxDEV)(e.code,{children:\"pnpm install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[`Create a kafka instance on upstash.\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-kafka-cluster\",children:\"docs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:165,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:164,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create the following topics: \",(0,n.jsxDEV)(e.code,{children:\"blue\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:33},this),\", \",(0,n.jsxDEV)(e.code,{children:\"red\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:41},this),\", \",(0,n.jsxDEV)(e.code,{children:\"green\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:48},this),`.\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-topic\",children:\"docs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:167,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:4},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"The partitions or retention settings don't matter at this time.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:169,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:166,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create \",(0,n.jsxDEV)(e.code,{children:\".env\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:11},this),\" file with your kafka secrets \",(0,n.jsxDEV)(e.code,{children:\"cp .env.example .env\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:171,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:163,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"running-tests\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#running-tests\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:173,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"test\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:175,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(m={}){let{wrapper:e}=m.components||{};return e?(0,n.jsxDEV)(e,Object.assign({},m,{children:(0,n.jsxDEV)(Fe,m,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-5e269ef8-6826-490c-bd49-efe8111a9163.mdx\"},this):Fe(m)}var kn=Nn;return _n(xn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/upstash-kafka.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-redis.mdx.json b/.contentlayer/generated/Project/projects__upstash-redis.mdx.json index 8843331..833d3f9 100644 --- a/.contentlayer/generated/Project/projects__upstash-redis.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-redis.mdx.json @@ -5,8 +5,8 @@ "url": "https://upstash.com/redis", "repository": "upstash/upstash-redis", "body": { - "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var cr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var q=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var h in f)F(s,h,{get:f[h],enumerable:!0})},_e=(s,f,h,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of lr(f))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,h)=>(h=s!=null?sr(cr(s)):{},_e(f||!s||!s.__esModule?F(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(F({},\"__esModule\",{value:!0}),s);var Te=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"use strict\";(function(){\"use strict\";var s=Te(),f=Symbol.for(\"react.element\"),h=Symbol.for(\"react.portal\"),E=Symbol.for(\"react.fragment\"),m=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),P=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),Y=Symbol.for(\"react.suspense_list\"),w=Symbol.for(\"react.memo\"),$=Symbol.for(\"react.lazy\"),Se=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,je=\"@@iterator\";function xe(e){if(e===null||typeof e!=\"object\")return null;var r=J&&e[J]||e[je];return typeof r==\"function\"?r:null}var _=s.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n=1&&c>=0&&a[l]!==v[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==v[c]){if(l!==1||c!==1)do if(l--,c--,c<0||a[l]!==v[c]){var p=`\n`+a[l].replace(\" at new \",\" at \");return e.displayName&&p.includes(\"\")&&(p=p.replace(\"\",e.displayName)),typeof e==\"function\"&&j.set(e,p),p}while(l>=1&&c>=0);break}}}finally{M=!1,W.current=u,Me(),Error.prepareStackTrace=i}var T=e?e.displayName||e.name:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Ue(e,r,t){return se(e,!1)}function Le(e){var r=e.prototype;return!!(r&&r.isReactComponent)}function x(e,r,t){if(e==null)return\"\";if(typeof e==\"function\")return se(e,Le(e));if(typeof e==\"string\")return S(e);switch(e){case I:return S(\"Suspense\");case Y:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case P:return Ue(e.render);case w:return x(e.type,r,t);case $:{var n=e,i=n._payload,u=n._init;try{return x(u(i),r,t)}catch{}}}return\"\"}var k=Object.prototype.hasOwnProperty,fe={},le=_.ReactDebugCurrentFrame;function D(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Be(e,r,t,n,i){{var u=Function.call.bind(k);for(var o in e)if(u(e,o)){var a=void 0;try{if(typeof e[o]!=\"function\"){var v=Error((n||\"React class\")+\": \"+t+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw v.name=\"Invariant Violation\",v}a=e[o](r,o,n,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(l){a=l}a&&!(a instanceof Error)&&(D(i),d(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",n||\"React class\",t,o,typeof a),D(null)),a instanceof Error&&!(a.message in fe)&&(fe[a.message]=!0,D(i),d(\"Failed %s type: %s\",t,a.message),D(null))}}}var Ge=Array.isArray;function V(e){return Ge(e)}function qe(e){{var r=typeof Symbol==\"function\"&&Symbol.toStringTag,t=r&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function ze(e){try{return ce(e),!1}catch{return!0}}function ce(e){return\"\"+e}function de(e){if(ze(e))return d(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(e)),ce(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(e){if(k.call(e,\"ref\")){var r=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(r&&r.isReactWarning)return!1}return e.ref!==void 0}function Ke(e){if(k.call(e,\"key\")){var r=Object.getOwnPropertyDescriptor(e,\"key\").get;if(r&&r.isReactWarning)return!1}return e.key!==void 0}function Je(e,r){if(typeof e.ref==\"string\"&&O.current&&r&&O.current.stateNode!==r){var t=b(O.current.type);U[t]||(d('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',b(O.current.type),e.ref),U[t]=!0)}}function Ze(e,r){{var t=function(){ve||(ve=!0,d(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:t,configurable:!0})}}function Qe(e,r){{var t=function(){pe||(pe=!0,d(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",r))};t.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,r,t,n,i,u,o){var a={$$typeof:f,type:e,key:r,ref:t,props:o,_owner:u};return a._store={},Object.defineProperty(a._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(a,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(a,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a};function rr(e,r,t,n,i){{var u,o={},a=null,v=null;t!==void 0&&(de(t),a=\"\"+t),Ke(r)&&(de(r.key),a=\"\"+r.key),He(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Xe.hasOwnProperty(u)&&(o[u]=r[u]);if(e&&e.defaultProps){var l=e.defaultProps;for(u in l)o[u]===void 0&&(o[u]=l[u])}if(a||v){var c=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;a&&Ze(o,c),v&&Qe(o,c)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,he=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var B;B=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function be(){{if(L.current){var e=b(L.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function tr(e){{if(e!==void 0){var r=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=e.lineNumber;return`\n\nCheck your code at `+r+\":\"+t+\".\"}return\"\"}}var ge={};function nr(e){{var r=be();if(!r){var t=typeof e==\"string\"?e:e.displayName||e.name;t&&(r=`\n\nCheck the top-level render call using <`+t+\">.\")}return r}}function me(e,r){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var t=nr(r);if(ge[t])return;ge[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+b(e._owner.type)+\".\"),R(e),d('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,n),R(null)}}function Ee(e,r){{if(typeof e!=\"object\")return;if(V(e))for(var t=0;t\",a=\" Did you accidentally export a JSX literal instead of a component?\"):l=typeof e,d(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",l,a)}var c=rr(e,r,t,i,u);if(c==null)return c;if(o){var p=r.children;if(p!==void 0)if(n)if(V(p)){for(var T=0;T{\"use strict\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(Pe()),br={title:\"@upstash/redis\",description:\"A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.\",date:\"2022-03-14\",url:\"https://upstash.com/redis\",repository:\"upstash/upstash-redis\"};function we(s){let f=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,A.jsxDEV)(f,Object.assign({},s,{children:(0,A.jsxDEV)(we,s,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1b74ddb6-f2a5-4108-a22e-9f22cd877684.mdx\"},this):we(s)}var mr=gr;return hr(Er);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" + "raw": "\n\n`@upstash/redis` is an HTTP/REST based Redis client for typescript, built on top\nof [Upstash REST API](https://docs.upstash.com/features/restapi).\n\nIt is the only connectionless (HTTP based) Redis client and designed for:\n\n- Serverless functions (AWS Lambda ...)\n- Cloudflare Workers (see\n [the example](https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers))\n- Fastly Compute@Edge (see\n [the example](https://github.com/upstash/upstash-redis/tree/main/examples/fastly))\n- Next.js, Jamstack ...\n- Client side web/mobile applications\n- WebAssembly\n- and other environments where HTTP is preferred over TCP.\n\nSee\n[the list of APIs](https://docs.upstash.com/features/restapi#rest---redis-api-compatibility)\nsupported.\n\n## Quick Start\n\n### Install\n\n#### Node.js\n\n```bash\nnpm install @upstash/redis\n```\n\n#### Deno\n\n```ts\nimport { Redis } from \"https://deno.land/x/upstash_redis/mod.ts\";\n```\n\n### Create database\n\nCreate a new redis database on [upstash](https://console.upstash.com/)\n\n## Basic Usage:\n\n```ts\nimport { Redis } from \"@upstash/redis\"\n\nconst redis = new Redis({\n url: ,\n token: ,\n})\n\n// string\nawait redis.set('key', 'value');\nlet data = await redis.get('key');\nconsole.log(data)\n\nawait redis.set('key2', 'value2', {ex: 1});\n\n// sorted set\nawait redis.zadd('scores', { score: 1, member: 'team1' })\ndata = await redis.zrange('scores', 0, 100 )\nconsole.log(data)\n\n// list\nawait redis.lpush('elements', 'magnesium')\ndata = await redis.lrange('elements', 0, 100 )\nconsole.log(data)\n\n// hash\nawait redis.hset('people', {name: 'joe'})\ndata = await redis.hget('people', 'name' )\nconsole.log(data)\n\n// sets\nawait redis.sadd('animals', 'cat')\ndata = await redis.spop('animals', 1)\nconsole.log(data)\n```\n", + "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),fn=(l,e)=>{for(var _ in e)O(l,_,{get:e[_],enumerable:!0})},ye=(l,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of mn(e))!bn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var hn=(l,e,_)=>(_=l!=null?dn(un(l)):{},ye(e||!l||!l.__esModule?O(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(O({},\"__esModule\",{value:!0}),l);var Ee=q((gn,ge)=>{ge.exports=React});var je=q(z=>{\"use strict\";(function(){\"use strict\";var l=Ee(),e=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),G=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),X=Symbol.for(\"react.context\"),F=Symbol.for(\"react.forward_ref\"),B=Symbol.for(\"react.suspense\"),D=Symbol.for(\"react.suspense_list\"),R=Symbol.for(\"react.memo\"),A=Symbol.for(\"react.lazy\"),Re=Symbol.for(\"react.offscreen\"),J=Symbol.iterator,Ce=\"@@iterator\";function Te(r){if(r===null||typeof r!=\"object\")return null;var a=J&&r[J]||r[Ce];return typeof a==\"function\"?a:null}var g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&s[m]!==f[u];)u--;for(;m>=1&&u>=0;m--,u--)if(s[m]!==f[u]){if(m!==1||u!==1)do if(m--,u--,u<0||s[m]!==f[u]){var h=`\n`+s[m].replace(\" at new \",\" at \");return r.displayName&&h.includes(\"\")&&(h=h.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,h),h}while(m>=1&&u>=0);break}}}finally{W=!1,I.current=i,We(),Error.prepareStackTrace=d}var j=r?r.displayName||r.name:\"\",xe=j?C(j):\"\";return typeof r==\"function\"&&T.set(r,xe),xe}function $e(r,a,t){return de(r,!1)}function Me(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,t){if(r==null)return\"\";if(typeof r==\"function\")return de(r,Me(r));if(typeof r==\"string\")return C(r);switch(r){case B:return C(\"Suspense\");case D:return C(\"SuspenseList\")}if(typeof r==\"object\")switch(r.$$typeof){case F:return $e(r.render);case R:return w(r.type,a,t);case A:{var o=r,d=o._payload,i=o._init;try{return w(i(d),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function P(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Ve(r,a,t,o,d){{var i=Function.call.bind(S);for(var c in r)if(i(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var f=Error((o||\"React class\")+\": \"+t+\" type `\"+c+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[c]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){s=m}s&&!(s instanceof Error)&&(P(d),b(\"%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\",o||\"React class\",t,c,typeof s),P(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,P(d),b(\"Failed %s type: %s\",t,s.message),P(null))}}}var He=Array.isArray;function Y(r){return He(r)}function qe(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return t}}function ze(r){try{return me(r),!1}catch{return!0}}function me(r){return\"\"+r}function ue(r){if(ze(r))return b(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",qe(r)),me(r)}var v=g.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},be,fe,$;$={};function Ke(r){if(S.call(r,\"ref\")){var a=Object.getOwnPropertyDescriptor(r,\"ref\").get;if(a&&a.isReactWarning)return!1}return r.ref!==void 0}function Xe(r){if(S.call(r,\"key\")){var a=Object.getOwnPropertyDescriptor(r,\"key\").get;if(a&&a.isReactWarning)return!1}return r.key!==void 0}function Je(r,a){if(typeof r.ref==\"string\"&&v.current&&a&&v.current.stateNode!==a){var t=p(v.current.type);$[t]||(b('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',p(v.current.type),r.ref),$[t]=!0)}}function Qe(r,a){{var t=function(){be||(be=!0,b(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){fe||(fe=!0,b(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)\",a))};t.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:t,configurable:!0})}}var en=function(r,a,t,o,d,i,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:i};return s._store={},Object.defineProperty(s._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,d){{var i,c={},s=null,f=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),Ke(a)&&(f=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(c[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)c[i]===void 0&&(c[i]=m[i])}if(s||f){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),f&&Ze(c,u)}return en(r,s,f,d,o,v.current,c)}}var M=g.ReactCurrentOwner,he=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);he.setExtraStackFrame(t)}else he.setExtraStackFrame(null)}var V;V=!1;function H(r){return typeof r==\"object\"&&r!==null&&r.$$typeof===e}function _e(){{if(M.current){var r=p(M.current.type);if(r)return`\n\nCheck the render method of \\``+r+\"`.\"}return\"\"}}function rn(r){{if(r!==void 0){var a=r.fileName.replace(/^.*[\\\\\\/]/,\"\"),t=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+t+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var t=typeof r==\"string\"?r:r.displayName||r.name;t&&(a=`\n\nCheck the top-level render call using <`+t+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var t=an(a);if(pe[t])return;pe[t]=!0;var o=\"\";r&&r._owner&&r._owner!==M.current&&(o=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),b('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',t,o),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var t=0;t\",s=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof r,b(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,s)}var u=nn(r,a,t,d,i);if(u==null)return u;if(c){var h=a.children;if(h!==void 0)if(o)if(Y(h)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var n=hn(ve()),pn={title:\"@upstash/redis\",description:\"A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.\",date:\"2022-03-14\",url:\"https://upstash.com/redis\",repository:\"upstash/upstash-redis\"};function Fe(l){let e=Object.assign({p:\"p\",code:\"code\",a:\"a\",ul:\"ul\",li:\"li\",h2:\"h2\",span:\"span\",h3:\"h3\",h4:\"h4\",div:\"div\",pre:\"pre\"},l.components);return(0,n.jsxDEV)(n.Fragment,{children:[(0,n.jsxDEV)(e.p,{children:[(0,n.jsxDEV)(e.code,{children:\"@upstash/redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),` is an HTTP/REST based Redis client for typescript, built on top\nof `,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/features/restapi\",children:\"Upstash REST API\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:12,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:\"It is the only connectionless (HTTP based) Redis client and designed for:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.ul,{children:[`\n`,(0,n.jsxDEV)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`Cloudflare Workers (see\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers\",children:\"the example\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:[`Fastly Compute@Edge (see\n`,(0,n.jsxDEV)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/fastly\",children:\"the example\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Next.js, Jamstack ...\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"Client side web/mobile applications\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"WebAssembly\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.li,{children:\"and other environments where HTTP is preferred over TCP.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:24,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[`See\n`,(0,n.jsxDEV)(e.a,{href:\"https://docs.upstash.com/features/restapi#rest---redis-api-compatibility\",children:\"the list of APIs\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"quick-start\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quick-start\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h3,{id:\"install\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h4,{id:\"nodejs\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#nodejs\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:34,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:223},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:36,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h4,{id:\"deno\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deno\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:40,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"https://deno.land/x/upstash_redis/mod.ts\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:270},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h3,{id:\"create-database\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#create-database\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.p,{children:[\"Create a new redis database on \",(0,n.jsxDEV)(e.a,{href:\"https://console.upstash.com/\",children:\"upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:48,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.h2,{id:\"basic-usage\",children:[(0,n.jsxDEV)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#basic-usage\",children:(0,n.jsxDEV)(e.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsxDEV)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxDEV)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"import\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:146},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"from\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:193},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/redis\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"const\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:139},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:213},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"new\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:250},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:289},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"Redis\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:326},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: <\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_URL\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:67},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" token: <\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_TOKEN\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:69},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// string\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:229},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:267},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:9,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"let\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:59},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:101},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:138},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:175},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:216},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"get\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:259},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:335},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:11,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:143},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key2'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:180},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:230},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value2'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:268},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", {ex: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:320},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:363},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// sorted set\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"zadd\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", { score: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:280},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", member: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:317},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'team1'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:363},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"zrange\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:350},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:388},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:425},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:463},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:17,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:19,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// list\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"lpush\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:145},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:182},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:236},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'magnesium'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:274},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:21,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"lrange\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:261},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:298},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:352},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:390},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:427},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:465},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:23,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// hash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"hset\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", {name: \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:233},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'joe'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:278},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:98},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:135},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:176},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"hget\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:219},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:259},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:296},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:348},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'name'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:386},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:27,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:(0,n.jsxDEV)(e.span,{style:{color:\"#6A737D\"},children:\"// sets\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:61},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"sadd\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:104},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:144},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:181},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:234},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'cat'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:272},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"=\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:62},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:99},this),(0,n.jsxDEV)(e.span,{style:{color:\"#F97583\"},children:\"await\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:136},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:177},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"spop\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:220},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:260},this),(0,n.jsxDEV)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:297},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:350},this),(0,n.jsxDEV)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:388},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,n.jsxDEV)(e.span,{className:\"line\",children:[(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:20},this),(0,n.jsxDEV)(e.span,{style:{color:\"#B392F0\"},children:\"log\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:64},this),(0,n.jsxDEV)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,n.jsxDEV)(e,Object.assign({},l,{children:(0,n.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4b838d4f-8e8a-4f55-8e22-bb39693cf2d0.mdx\"},this):Fe(l)}var kn=Nn;return _n(xn);})();\n/*! Bundled license information:\n\nreact/cjs/react-jsx-dev-runtime.development.js:\n (**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *)\n*/\n;return Component;" }, "_id": "projects/upstash-redis.mdx", "_raw": { diff --git a/.contentlayer/generated/index.d.ts b/.contentlayer/generated/index.d.ts index 5759d7b..5b3de12 100644 --- a/.contentlayer/generated/index.d.ts +++ b/.contentlayer/generated/index.d.ts @@ -1,11 +1,10 @@ // NOTE This file is auto-generated by Contentlayer -import { Page, Project, DocumentTypes } from './types' +import { Page, Project, DocumentTypes } from "./types"; -export * from './types' +export * from "./types"; -export declare const allPages: Page[] -export declare const allProjects: Project[] - -export declare const allDocuments: DocumentTypes[] +export declare const allPages: Page[]; +export declare const allProjects: Project[]; +export declare const allDocuments: DocumentTypes[]; diff --git a/.contentlayer/generated/index.mjs b/.contentlayer/generated/index.mjs index 3df4300..301efc4 100644 --- a/.contentlayer/generated/index.mjs +++ b/.contentlayer/generated/index.mjs @@ -1,12 +1,12 @@ // NOTE This file is auto-generated by Contentlayer -export { isType } from 'contentlayer/client' +export { isType } from "contentlayer/client"; // NOTE During development Contentlayer imports from `.mjs` files to improve HMR speeds. // During (production) builds Contentlayer it imports from `.json` files to improve build performance. -import allPages from './Page/_index.json' assert { type: 'json' } -import allProjects from './Project/_index.json' assert { type: 'json' } +import allPages from "./Page/_index.json" assert { type: "json" }; +import allProjects from "./Project/_index.json" assert { type: "json" }; -export { allPages, allProjects } +export { allPages, allProjects }; -export const allDocuments = [...allPages, ...allProjects] +export const allDocuments = [...allPages, ...allProjects]; diff --git a/.contentlayer/generated/types.d.ts b/.contentlayer/generated/types.d.ts index f60aeb6..4aee628 100644 --- a/.contentlayer/generated/types.d.ts +++ b/.contentlayer/generated/types.d.ts @@ -1,78 +1,77 @@ // NOTE This file is auto-generated by Contentlayer -import type { Markdown, MDX, ImageFieldData, IsoDateTimeString } from 'contentlayer/core' -import * as Local from 'contentlayer/source-files' +import type { + Markdown, + MDX, + ImageFieldData, + IsoDateTimeString, +} from "contentlayer/core"; +import * as Local from "contentlayer/source-files"; -export { isType } from 'contentlayer/client' +export { isType } from "contentlayer/client"; -export type { Markdown, MDX, ImageFieldData, IsoDateTimeString } +export type { Markdown, MDX, ImageFieldData, IsoDateTimeString }; /** Document types */ export type Page = { - /** File path relative to `contentDirPath` */ - _id: string - _raw: Local.RawDocumentData - type: 'Page' - title: string - description?: string | undefined - /** MDX file body */ - body: MDX - path: string - slug: string -} + /** File path relative to `contentDirPath` */ + _id: string; + _raw: Local.RawDocumentData; + type: "Page"; + title: string; + description?: string | undefined; + /** MDX file body */ + body: MDX; + path: string; + slug: string; +}; export type Project = { - /** File path relative to `contentDirPath` */ - _id: string - _raw: Local.RawDocumentData - type: 'Project' - title: string - description: string - date?: IsoDateTimeString | undefined - url?: string | undefined - repository?: string | undefined - /** MDX file body */ - body: MDX - path: string - slug: string -} + /** File path relative to `contentDirPath` */ + _id: string; + _raw: Local.RawDocumentData; + type: "Project"; + title: string; + description: string; + date?: IsoDateTimeString | undefined; + url?: string | undefined; + repository?: string | undefined; + /** MDX file body */ + body: MDX; + path: string; + slug: string; +}; /** Nested types */ - /** Helper types */ -export type AllTypes = DocumentTypes | NestedTypes -export type AllTypeNames = DocumentTypeNames | NestedTypeNames +export type AllTypes = DocumentTypes | NestedTypes; +export type AllTypeNames = DocumentTypeNames | NestedTypeNames; -export type DocumentTypes = Page | Project -export type DocumentTypeNames = 'Page' | 'Project' - -export type NestedTypes = never -export type NestedTypeNames = never +export type DocumentTypes = Page | Project; +export type DocumentTypeNames = "Page" | "Project"; +export type NestedTypes = never; +export type NestedTypeNames = never; export interface ContentlayerGenTypes { - documentTypes: DocumentTypes - documentTypeMap: DocumentTypeMap - documentTypeNames: DocumentTypeNames - nestedTypes: NestedTypes - nestedTypeMap: NestedTypeMap - nestedTypeNames: NestedTypeNames - allTypeNames: AllTypeNames + documentTypes: DocumentTypes; + documentTypeMap: DocumentTypeMap; + documentTypeNames: DocumentTypeNames; + nestedTypes: NestedTypes; + nestedTypeMap: NestedTypeMap; + nestedTypeNames: NestedTypeNames; + allTypeNames: AllTypeNames; } declare global { - interface ContentlayerGen extends ContentlayerGenTypes {} + interface ContentlayerGen extends ContentlayerGenTypes {} } export type DocumentTypeMap = { - Page: Page - Project: Project -} + Page: Page; + Project: Project; +}; -export type NestedTypeMap = { - -} - - \ No newline at end of file +export type NestedTypeMap = {}; diff --git a/app/api/hello/route.ts b/app/api/hello/route.ts deleted file mode 100644 index 42e618c..0000000 --- a/app/api/hello/route.ts +++ /dev/null @@ -1,3 +0,0 @@ -export async function GET(request: Request) { - return new Response("Hello, Next.js!"); -} diff --git a/app/components/article-nav.tsx b/app/components/article-nav.tsx index 6669b76..b9286f7 100644 --- a/app/components/article-nav.tsx +++ b/app/components/article-nav.tsx @@ -77,9 +77,6 @@ export const Navigation: React.FC = ({ project }) => {

{project.title}

-

- {project.description}{" "} -

diff --git a/app/components/nav.tsx b/app/components/nav.tsx index 9c0093a..29b3e98 100644 --- a/app/components/nav.tsx +++ b/app/components/nav.tsx @@ -30,15 +30,13 @@ export const Navigation: React.FC = () => {
- - Projects - + Projects Contact diff --git a/app/layout.tsx b/app/layout.tsx index b92cb9e..0ab6cd0 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -47,6 +47,7 @@ const inter = Inter({ const grotesk = Hanken_Grotesk({ subsets: ["latin"], variable: "--font-grotesk", + fallback: ["sans-serif"], }); export default function RootLayout({ diff --git a/app/projects/[slug]/page.tsx b/app/projects/[slug]/page.tsx index fb93b33..4b11964 100644 --- a/app/projects/[slug]/page.tsx +++ b/app/projects/[slug]/page.tsx @@ -32,7 +32,7 @@ export default async function PostPage({ params }: PostPageProps) {
-
+
diff --git a/app/projects/card.tsx b/app/projects/card.tsx new file mode 100644 index 0000000..8ca03c4 --- /dev/null +++ b/app/projects/card.tsx @@ -0,0 +1,74 @@ +"use client"; +import { + motion, + MotionValue, + useMotionTemplate, + useMotionValue, +} from "framer-motion"; + +import type { Project } from "contentlayer/generated"; +import Link from "next/link"; + +const Flashlight: React.FC<{ + x: MotionValue; + y: MotionValue; +}> = ({ x, y }) => { + let maskImage = useMotionTemplate`radial-gradient(320px at ${x}px ${y}px, white, transparent)`; + let style = { maskImage, WebkitMaskImage: maskImage }; + + return ( +
+
+ + +
+ ); +}; + +export const Card: React.FC<{ project: Project }> = ({ project }) => { + const mouseX = useMotionValue(0); //randomBetween(rect?.left, rect?.right)); + const mouseY = useMotionValue(0); //randomBetween(rect?.top, rect?.bottom)); + + function onMouseMove({ currentTarget, clientX, clientY }: any) { + const { left, top } = currentTarget.getBoundingClientRect(); + mouseX.set(clientX - left); + mouseY.set(clientY - top); + } + + return ( + + + + + {project.date ? ( + + ) : ( + SOON + )} + +

+ {project.title} +

+

+ {project.description} +

+ + ); +}; diff --git a/app/projects/page.tsx b/app/projects/page.tsx index 1aa01ba..7c10de4 100644 --- a/app/projects/page.tsx +++ b/app/projects/page.tsx @@ -1,7 +1,8 @@ import Link from "next/link"; import React from "react"; -import { allProjects, Project } from "contentlayer/generated"; +import { allProjects } from "contentlayer/generated"; import { Navigation } from "../components/nav"; +import { Card } from "./card"; export default function ProjectsPage() { const featured = allProjects.find( @@ -41,7 +42,9 @@ export default function ProjectsPage() {
{featured.date ? ( ) : ( SOON @@ -74,46 +77,29 @@ export default function ProjectsPage() {
- {sorted.map((project) => ( - - ))} +
+ {sorted + .filter((_, i) => i % 3 === 0) + .map((project) => ( + + ))} +
+
+ {sorted + .filter((_, i) => i % 3 === 1) + .map((project) => ( + + ))} +
+
+ {sorted + .filter((_, i) => i % 3 === 2) + .map((project) => ( + + ))} +
); } - -const Card: React.FC<{ project: Project; border?: boolean }> = ({ - project, - border, -}) => { - return ( - -
- {project.date ? ( - - ) : ( - SOON - )} -
-
-

- - {project.title} -

-

- {project.description} -

-
- - ); -}; diff --git a/content/projects/access.mdx b/content/projects/access.mdx index c5aa830..ae00c32 100644 --- a/content/projects/access.mdx +++ b/content/projects/access.mdx @@ -5,5 +5,71 @@ repository: chronark/access date: "2022-11-13" --- +A minimal library for access control. It is designed to be used together with opaque access tokens by providing a simple interface to define roles with different access permissions and verifying requests to resources. -TODO: \ No newline at end of file +- Fully typed +- Zero dependencies +- Serializable to store in a database + +## Install + +```sh-session +npm i @chronark/access +``` + +## Usage + +```ts +import { AccessControl, Role } from "@chronark/access"; + +/** + * Define all your resources and their access patterns + * + * key => resource + * value => array of access types + */ +type Statements = { + user: ["read", "write", "dance"]; + team: ["read", "write"]; +}; + +/** + * Create an access control instance and pass the Statements type to enjoy full + * type safety + */ +const ac = new AccessControl(); + +/** + * Now you can define one or more roles by specifying the access permissions + * + * This is already fully typed and typescript will let you know if you try to + * use anything, that is not defined in the Statements type. + */ +const role = ac.newRole({ + user: ["read", "write"], + team: ["read"], +}); + +/** + * Simulate storing and retrieving the role in a database + * + * The idea here is, that you can store permissions alongside an API token. + * Now, when you verify the token, you can also verify the access permissions. + */ +const serialized = role.toString(); + +/** + * Note how you can pass in the Statements type again, to get full type safety + */ +const recovered = Role.fromString(serialized); + +/** + * Validate the role by specifying the resource and the required access + * + * everything is fully typed + */ +const res = recovered.authorize({"team", ["read"]}); + +// res.success => boolean +// res.error => string | undefined provides a reason for failure +``` \ No newline at end of file diff --git a/content/projects/planetfall.mdx b/content/projects/planetfall.mdx index a4d4675..fde5322 100644 --- a/content/projects/planetfall.mdx +++ b/content/projects/planetfall.mdx @@ -1,8 +1,10 @@ --- -title: Planetfall +title: planetfall.io description: I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously. date: "2023-04-01" url: https://planetfall.io --- -TODO: \ No newline at end of file + + +I'm building a SAAS, that provides global latency monitoring for your APIs and websites from edge locations around the world. Have you ever wondered how fast your API is in any part of the world? Planetfall allows you to find out and monitor it continuously. \ No newline at end of file diff --git a/content/projects/qstash.mdx b/content/projects/qstash.mdx index 0c9d520..86ff2c3 100644 --- a/content/projects/qstash.mdx +++ b/content/projects/qstash.mdx @@ -6,4 +6,30 @@ url: https://upstash.com/qstash --- -TODO: \ No newline at end of file +QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes. + +- 100% serverless, no stateful connections required. Messages are pushed to your API. +- At-least-once delivery guaranteed to any public API +- Pubsub via topics +- Delay message delivery +- Message deduplication +- Scheduling via CRON + + +Formally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions. + +There was a perception serverless was only good for simple tasks. Not anymore. People build powerful systems with serverless stack. Powerful systems are composed of multiple components. Communication among those components is a big engineering problem. There are already great solutions for this problem. But we think existing solutions do not fit in serverless space. Either they are too complex or not designed to work with stateless runtimes. So we want a solution which (is): + +- Works anywhere including serverless and edge. +- Messaging as a service with no backend for users to run. +- Lightweight, easy to understand, requires nothing to learn. +- Price scales to zero. + +Let's talk about a real world example. We have an e-commerce app and we want to send an informational email after each purchase. We have a service (an API route) for new purchases (newPurchase) and a second service for sending emails and notifications (sendEmail). We can call the sendEmail service from the newPurchase service. But what if the call fails? Should we wait for the response and retry? What if too many calls congest the sendEmail service and the service does not respond on time? You need to handle all these cases in your newPurchase service. Moreover, when you change the contract of sendEmail service; you have to update your newPurchase service too. + +If you use QStash in the above example, you simply send a request to QStash from the newPurchase service. QStash will queue the request and call the sendEmail service. If the service does not respond, QStash will retry with a backoff strategy. The latency of sendEmail service will not affect the newPurchase service, because it will not wait for a response from the sendEmail service. QStash decouples the newPurchase and sendEmail services. You can update both services independently as long as you keep the message format compatible. + +With QStash, you can add delays to the requests. Send an email 3 days after the shipment to remind the customer to add a review. You can also schedule tasks. You can send the requests with a CRON expression, so it will be run repetitively. + + +To learn more about QStash, visit [upstash.com/qstash](upstash.com/qstash). \ No newline at end of file diff --git a/content/projects/redis-query.mdx b/content/projects/redis-query.mdx deleted file mode 100644 index 1cdd632..0000000 --- a/content/projects/redis-query.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Redis Query -description: Client side secondary indexing for Redis. It allows you to query your Redis data efficiently. Inspired by FaunaDB indices. -repository: chronark/redis-query - ---- - -TODO: \ No newline at end of file diff --git a/content/projects/terraform-provider-vercel.mdx b/content/projects/terraform-provider-vercel.mdx index 0dddb47..2e3328d 100644 --- a/content/projects/terraform-provider-vercel.mdx +++ b/content/projects/terraform-provider-vercel.mdx @@ -3,5 +3,43 @@ title: Vercel Terraform Provider description: A Terraform provider for Vercel. It has been deprecated it when Vercel rolled out their official provider. date: "2021-03-16" repository: chronark/terraform-provider-vercel +url: https://registry.terraform.io/providers/chronark/vercel/latest --- -TODO: \ No newline at end of file + + + +Back in the day when Vercel didn't have an official Terraform provider, I wrote one. +I needed to manage my Vercel projects and especially sync environment variables from different cloud providers. +Terraform was great to provision some postgres databases on digital ocean, but there was no way to sync the credentials with Vercel. + +```hcl +terraform { + required_providers { + vercel = { + source = "registry.terraform.io/chronark/vercel" + version = ">=0.10.3" + } + } +} + +provider "vercel" { + token = "" +} + +resource "vercel_project" "my_project" { + name = "project-via-terraform" + git_repository { + type = "github" + repo = "chronark/terraform-provider-vercel" + } +} +``` + +It was a fun project and I learned a lot about Terraform and Vercel's API. +It gave me the opportunity to contribute to the Terraform ecosystem and my appreciation for the work that the Terraform team does is immense. + +There have been quite a few individuals and teams that have used this provider and I am happy that it has been useful to you. + +Now that Vercel have stepped in, I have decided to [deprecate](https://twitter.com/chronark_/status/1517759708983177218) this one on April 23rd 2022. + +Please use the [official provider](https://registry.terraform.io/providers/vercel/vercel/latest) instead. \ No newline at end of file diff --git a/content/projects/upstash-kafka.mdx b/content/projects/upstash-kafka.mdx index 2bf1893..cc072ab 100644 --- a/content/projects/upstash-kafka.mdx +++ b/content/projects/upstash-kafka.mdx @@ -7,4 +7,171 @@ repository: upstash/upstash-kafka --- -TODO: \ No newline at end of file + +An HTTP/REST based Kafka client built on top of +[Upstash REST API](https://docs.upstash.com/kafka/rest). + +It is the only connectionless (HTTP based) Kafka client and designed for: + +- Serverless functions (AWS Lambda ...) +- Cloudflare Workers (see the example) +- Fastly Compute@Edge +- Next.js Edge, Remix ... +- Client side web/mobile applications +- WebAssembly and other environments where HTTP is preferred over TCP + connections. + +# Installation + +```bash +npm install @upstash/kafka +``` + +# Quickstart + +## Auth + +1. Go to [upstash](https://console.upstash.com/kafka) and select your database. +2. Copy the `REST API` secrets at the bottom of the page + +```typescript +import { Kafka } from "@upstash/kafka" + +const kafka = new Kafka({ + url: "", + username: "", + password: "", +}) +``` + +## Produce a single message + +```typescript +const p = kafka.producer() +const message = { hello: "world" } // Objects will get serialized using `JSON.stringify` +const res = await p.produce("", message) +const res = await p.produce("", message, { + partition: 1, + timestamp: 12345, + key: "", + headers: [{ key: "traceId", value: "85a9f12" }], +}) +``` + +## Produce multiple messages. + +The same options from the example above can be set for every message. + +```typescript +const p = kafka.producer() +const res = await p.produceMany([ + { + topic: "my.topic", + value: { hello: "world" }, + // ...options + }, + { + topic: "another.topic", + value: "another message", + // ...options + }, +]) +``` + +## Consume + +The first time a consumer is created, it needs to figure out the group +coordinator by asking the Kafka brokers and joins the consumer group. This +process takes some time to complete. That's why when a consumer instance is +created first time, it may return empty messages until consumer group +coordination is completed. + +```typescript +const c = kafka.consumer() +const messages = await c.consume({ + consumerGroupId: "group_1", + instanceId: "instance_1", + topics: ["test.topic"], + autoOffsetReset: "earliest", +}) +``` + +More examples can be found in the +[docstring](https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265) + +## Commit manually + +While `consume` can handle committing automatically, you can also use +`Consumer.commit` to manually commit. + +```typescript +const consumerGroupId = "mygroup" +const instanceId = "myinstance" +const topic = "my.topic" + +const c = kafka.consumer() +const messages = await c.consume({ + consumerGroupId, + instanceId, + topics: [topic], + autoCommit: false, +}) + +for (const message of messages) { + // message handling logic + + await c.commit({ + consumerGroupId, + instanceId, + offset: { + topic: message.topic, + partition: message.partition, + offset: message.offset, + }, + }) +} +``` + +## Fetch + +You can also manage offsets manually by using `Consumer.fetch` + +```typescript +const c = kafka.consumer() +const messages = await c.fetch({ + topic: "greeting", + partition: 3, + offset: 42, + timeout: 1000, +}) +``` + +## Examples + +See [/examples](https://github.com/upstash/upstash-kafka/tree/main/examples) as +well as various examples in the docstrings of each method. + +# Contributing + +## Requirements + +- [nodejs](https://nodejs.org) v14.x or higher +- [pnpm](https://pnpm.io/installation) + +## Setup + +0. Install dependencies using `pnpm install` +1. Create a kafka instance on upstash. + [docs](https://docs.upstash.com/kafka#create-a-kafka-cluster) +2. Create the following topics: `blue`, `red`, `green`. + [docs](https://docs.upstash.com/kafka#create-a-topic) + + The partitions or retention settings don't matter at this time. + +3. Create `.env` file with your kafka secrets `cp .env.example .env` + +## Running tests + +```bash +pnpm test +``` diff --git a/content/projects/upstash-redis.mdx b/content/projects/upstash-redis.mdx index 4b1dd13..6f6ba5c 100644 --- a/content/projects/upstash-redis.mdx +++ b/content/projects/upstash-redis.mdx @@ -7,4 +7,80 @@ repository: upstash/upstash-redis --- -TODO: \ No newline at end of file + +`@upstash/redis` is an HTTP/REST based Redis client for typescript, built on top +of [Upstash REST API](https://docs.upstash.com/features/restapi). + +It is the only connectionless (HTTP based) Redis client and designed for: + +- Serverless functions (AWS Lambda ...) +- Cloudflare Workers (see + [the example](https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers)) +- Fastly Compute@Edge (see + [the example](https://github.com/upstash/upstash-redis/tree/main/examples/fastly)) +- Next.js, Jamstack ... +- Client side web/mobile applications +- WebAssembly +- and other environments where HTTP is preferred over TCP. + +See +[the list of APIs](https://docs.upstash.com/features/restapi#rest---redis-api-compatibility) +supported. + +## Quick Start + +### Install + +#### Node.js + +```bash +npm install @upstash/redis +``` + +#### Deno + +```ts +import { Redis } from "https://deno.land/x/upstash_redis/mod.ts"; +``` + +### Create database + +Create a new redis database on [upstash](https://console.upstash.com/) + +## Basic Usage: + +```ts +import { Redis } from "@upstash/redis" + +const redis = new Redis({ + url: , + token: , +}) + +// string +await redis.set('key', 'value'); +let data = await redis.get('key'); +console.log(data) + +await redis.set('key2', 'value2', {ex: 1}); + +// sorted set +await redis.zadd('scores', { score: 1, member: 'team1' }) +data = await redis.zrange('scores', 0, 100 ) +console.log(data) + +// list +await redis.lpush('elements', 'magnesium') +data = await redis.lrange('elements', 0, 100 ) +console.log(data) + +// hash +await redis.hset('people', {name: 'joe'}) +data = await redis.hget('people', 'name' ) +console.log(data) + +// sets +await redis.sadd('animals', 'cat') +data = await redis.spop('animals', 1) +console.log(data) +``` diff --git a/next.config.mjs b/next.config.mjs index 82c609a..86756d0 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -6,6 +6,7 @@ const nextConfig = { experimental: { appDir: true, mdxRs: true, + runtime: "edge", }, images: { domains: ["pbs.twimg.com"], diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..990fea1 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5454 @@ +{ + "name": "chronark.com", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "chronark.com", + "version": "0.1.0", + "dependencies": { + "@next/font": "^13.2.1", + "@next/mdx": "^13.2.1", + "@types/node": "18.14.1", + "@types/react": "18.0.28", + "@types/react-dom": "18.0.11", + "@vercel/analytics": "^0.1.10", + "contentlayer": "^0.3.0", + "lucide-react": "^0.115.0", + "markdown-wasm": "^1.2.0", + "next": "13.2.1", + "next-contentlayer": "^0.3.0", + "react": "18.2.0", + "react-dom": "18.2.0", + "rehype-autolink-headings": "^6.1.1", + "rehype-pretty-code": "^0.9.4", + "rehype-slug": "^5.1.0", + "remark-gfm": "^3.0.1", + "typescript": "4.9.5" + }, + "devDependencies": { + "@opentelemetry/api": "^1.1.0", + "@tailwindcss/line-clamp": "^0.4.2", + "@tailwindcss/typography": "^0.5.9", + "autoprefixer": "^10.4.13", + "postcss": "^8.4.21", + "postcss-nesting": "^11.2.1", + "tailwindcss": "^3.2.7", + "tailwindcss-debug-screens": "^2.2.1" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@contentlayer/cli": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@contentlayer/cli/-/cli-0.3.0.tgz", + "integrity": "sha512-Mqb6NlIKINt2qsPKft+o8m5tJhJXVgVSd0zP1BH+CQRmvR/zwTT3maz1bDCPHBYGKgGCQKtvgM66IjvH+dmC6Q==", + "dependencies": { + "@contentlayer/core": "0.3.0", + "@contentlayer/utils": "0.3.0", + "clipanion": "^3.2.0-rc.14", + "typanion": "^3.12.1" + } + }, + "node_modules/@contentlayer/client": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@contentlayer/client/-/client-0.3.0.tgz", + "integrity": "sha512-yzDYiZtqOJwWrsykieA1LMnhKbaYcJhAy7s8Xs7zU5wFfyBTO258gvmK5dVi4LuzmOOPVMJn6FpEofT/RAKVtg==", + "dependencies": { + "@contentlayer/core": "0.3.0" + } + }, + "node_modules/@contentlayer/core": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@contentlayer/core/-/core-0.3.0.tgz", + "integrity": "sha512-5cL4W0nK9kNqxgBkIgauUko0SRAHf8oPoxRhdsSPQ7FSCgZGz2crMeSJOFmj3a3govh863/mKhXfkoUJBoDgnA==", + "dependencies": { + "@contentlayer/utils": "0.3.0", + "camel-case": "^4.1.2", + "comment-json": "^4.2.3", + "esbuild": "0.17.x", + "gray-matter": "^4.0.3", + "mdx-bundler": "^9.2.1", + "rehype-stringify": "^9.0.3", + "remark-frontmatter": "^4.0.1", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "source-map-support": "^0.5.21", + "type-fest": "^3.5.2", + "unified": "^10.1.2" + }, + "peerDependencies": { + "esbuild": "0.17.x", + "markdown-wasm": "1.x" + }, + "peerDependenciesMeta": { + "esbuild": { + "optional": true + }, + "markdown-wasm": { + "optional": true + } + } + }, + "node_modules/@contentlayer/source-files": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@contentlayer/source-files/-/source-files-0.3.0.tgz", + "integrity": "sha512-6crNuRdWGYFec0Kn/DpbrzpOu8bttFmOmOpX1HIYQz4iPisg+8biybLBiNU7Y6aCUjEZLOnM7AaHpMFvhrYWsw==", + "dependencies": { + "@contentlayer/core": "0.3.0", + "@contentlayer/utils": "0.3.0", + "chokidar": "^3.5.3", + "fast-glob": "^3.2.12", + "gray-matter": "^4.0.3", + "imagescript": "^1.2.15", + "micromatch": "^4.0.5", + "ts-pattern": "^4.1.3", + "unified": "^10.1.2", + "yaml": "^1.10.2", + "zod": "^3.20.2" + } + }, + "node_modules/@contentlayer/source-remote-files": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@contentlayer/source-remote-files/-/source-remote-files-0.3.0.tgz", + "integrity": "sha512-4PnaK5cfQiduMUEO6nzqsD4ttD5RG4ffcyeSp5MLhpU0DTEZcfGXFRO777ddEI8PZ0/NJuhfz9MGbdO90QYlsw==", + "dependencies": { + "@contentlayer/core": "0.3.0", + "@contentlayer/source-files": "0.3.0", + "@contentlayer/utils": "0.3.0" + } + }, + "node_modules/@contentlayer/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@contentlayer/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-GJF8Z67bf8KJbMqtZgt3G/m4Um93XrcryMJ+2Q1SUBRCEDuMcm8iLPaSbMQ0+gjxyW0GWHnR1oM+qyzaWTPgdg==", + "dependencies": { + "@effect-ts/core": "^0.60.2", + "@effect-ts/otel": "^0.14.0", + "@effect-ts/otel-exporter-trace-otlp-grpc": "^0.14.0", + "@effect-ts/otel-sdk-trace-node": "^0.14.0", + "@js-temporal/polyfill": "^0.4.3", + "@opentelemetry/api": "~1.1.0", + "@opentelemetry/core": "~1.5.0", + "@opentelemetry/exporter-trace-otlp-grpc": "~0.31.0", + "@opentelemetry/resources": "~1.5.0", + "@opentelemetry/sdk-trace-base": "~1.5.0", + "@opentelemetry/sdk-trace-node": "~1.5.0", + "@opentelemetry/semantic-conventions": "~1.5.0", + "chokidar": "^3.5.3", + "hash-wasm": "^4.9.0", + "inflection": "^2.0.1", + "oo-ascii-tree": "^1.73.0", + "ts-pattern": "^4.1.3", + "type-fest": "^3.5.2" + }, + "peerDependenciesMeta": { + "@effect-ts/core": { + "optional": true + }, + "@effect-ts/otel": { + "optional": true + }, + "@effect-ts/otel-node": { + "optional": true + } + } + }, + "node_modules/@contentlayer/utils/node_modules/@effect-ts/otel": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@effect-ts/otel/-/otel-0.14.1.tgz", + "integrity": "sha512-WtkxdoM1M8bl7F1mrSwBZQJAIaUXcupePrllL7iZnvSfUVhYXV98gRTV6EiVT+prX7rzCW4wPkF/XsyWbtMDtA==", + "peerDependencies": { + "@effect-ts/core": "^0.60.2", + "@opentelemetry/api": "^1.1.0", + "@opentelemetry/core": "^1.5.0", + "@opentelemetry/sdk-trace-base": "^1.5.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@effect-ts/otel-exporter-trace-otlp-grpc": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@effect-ts/otel-exporter-trace-otlp-grpc/-/otel-exporter-trace-otlp-grpc-0.14.1.tgz", + "integrity": "sha512-eb6dJhVKnjS1v8afdPm+wuZ3JeX2Gt3GJA9Vw5D2aESE7wa3mrpElsNNbDXn6rhgyjZq3VWYY/NXVtLAFOQIbQ==", + "dependencies": { + "@effect-ts/otel": "^0.14.1" + }, + "peerDependencies": { + "@effect-ts/core": "^0.60.2", + "@opentelemetry/api": "^1.1.0", + "@opentelemetry/core": "^1.5.0", + "@opentelemetry/exporter-trace-otlp-grpc": "^0.31.0", + "@opentelemetry/sdk-trace-base": "^1.5.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@effect-ts/otel-sdk-trace-node": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/@effect-ts/otel-sdk-trace-node/-/otel-sdk-trace-node-0.14.1.tgz", + "integrity": "sha512-j5ynRvd0H+Fp9aH/5NOtBd1ogNMpNB3r7uiXOKRPlfKUOtdx4KsCt2cPBjChMvyLstj8dkjtWE4loLSTYkWPuA==", + "dependencies": { + "@effect-ts/otel": "^0.14.1" + }, + "peerDependencies": { + "@effect-ts/core": "^0.60.2", + "@opentelemetry/api": "^1.1.0", + "@opentelemetry/core": "^1.5.0", + "@opentelemetry/sdk-trace-base": "^1.5.0", + "@opentelemetry/sdk-trace-node": "^1.5.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/api": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.1.0.tgz", + "integrity": "sha512-hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/context-async-hooks": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.5.0.tgz", + "integrity": "sha512-mhBPP0BU0RaH2HB8U4MDd5OjWA1y7SoLOovCT0iEpJAltaq2z04uxRJVzIs91vkpNnV0utUZowQQD3KElgU+VA==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.5.0.tgz", + "integrity": "sha512-B3DIMkQN0DANrr7XrMLS4pR6d2o/jqT09x4nZJz6wSJ9SHr4eQIqeFBNeEUQG1I+AuOcH2UbJtgFm7fKxLqd+w==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/propagator-b3": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.5.0.tgz", + "integrity": "sha512-38iGIScgU9OLhoPKAV3p2rEf4RmmQC/Lo4LvpQ6TaSQrRht/oDgnpsPJnmNQLFboklmukKataJO+FhAieOc7mg==", + "dependencies": { + "@opentelemetry/core": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/propagator-jaeger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.5.0.tgz", + "integrity": "sha512-aSUH5RDEZj+lmy4PbXAJ26E+yJcZloyPUBWgqYX+JBS4NnbriIznCF/tXV5s/RUXeVABibi/+yAZndv+2XBg4w==", + "dependencies": { + "@opentelemetry/core": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/resources": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.5.0.tgz", + "integrity": "sha512-YeEfC6IY54U3xL3P2+UAiom+r50ZF2jM0J47RV5uTFGF19Xjd5zazSwDPgmxtAd6DwLX0/5S5iqrsH4nEXMYoA==", + "dependencies": { + "@opentelemetry/core": "1.5.0", + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.5.0.tgz", + "integrity": "sha512-6lx7YDf67HSQYuWnvq3XgSrWikDJLiGCbrpUP6UWJ5Z47HLcJvwZPRH+cQGJu1DFS3dT2cV3GpAR75/OofPNHQ==", + "dependencies": { + "@opentelemetry/core": "1.5.0", + "@opentelemetry/resources": "1.5.0", + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@contentlayer/utils/node_modules/@opentelemetry/sdk-trace-node": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.5.0.tgz", + "integrity": "sha512-MzS+urf2KufpwgaHbGcUgccHr6paxI98lHFMgJAkK6w76AmPYavsxSwjiVPrchy/24d2J9svDirSgui3NNZo8g==", + "dependencies": { + "@opentelemetry/context-async-hooks": "1.5.0", + "@opentelemetry/core": "1.5.0", + "@opentelemetry/propagator-b3": "1.5.0", + "@opentelemetry/propagator-jaeger": "1.5.0", + "@opentelemetry/sdk-trace-base": "1.5.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", + "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4", + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@effect-ts/core": { + "version": "0.60.5", + "resolved": "https://registry.npmjs.org/@effect-ts/core/-/core-0.60.5.tgz", + "integrity": "sha512-qi1WrtJA90XLMnj2hnUszW9Sx4dXP03ZJtCc5DiUBIOhF4Vw7plfb65/bdBySPoC9s7zy995TdUX1XBSxUkl5w==", + "dependencies": { + "@effect-ts/system": "^0.57.5" + } + }, + "node_modules/@effect-ts/system": { + "version": "0.57.5", + "resolved": "https://registry.npmjs.org/@effect-ts/system/-/system-0.57.5.tgz", + "integrity": "sha512-/crHGujo0xnuHIYNc1VgP0HGJGFSoSqq88JFXe6FmFyXPpWt8Xu39LyLg7rchsxfXFeEdA9CrIZvLV5eswXV5g==" + }, + "node_modules/@esbuild-plugins/node-resolve": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-resolve/-/node-resolve-0.1.4.tgz", + "integrity": "sha512-haFQ0qhxEpqtWWY0kx1Y5oE3sMyO1PcoSiWEPrAw6tm/ZOOLXjSs6Q+v1v9eyuVF0nNt50YEvrcrvENmyoMv5g==", + "dependencies": { + "@types/resolve": "^1.17.1", + "debug": "^4.3.1", + "escape-string-regexp": "^4.0.0", + "resolve": "^1.19.0" + }, + "peerDependencies": { + "esbuild": "*" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.10.tgz", + "integrity": "sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz", + "integrity": "sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.10.tgz", + "integrity": "sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz", + "integrity": "sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz", + "integrity": "sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz", + "integrity": "sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz", + "integrity": "sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz", + "integrity": "sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz", + "integrity": "sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz", + "integrity": "sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz", + "integrity": "sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz", + "integrity": "sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz", + "integrity": "sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz", + "integrity": "sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz", + "integrity": "sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz", + "integrity": "sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz", + "integrity": "sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz", + "integrity": "sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz", + "integrity": "sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz", + "integrity": "sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz", + "integrity": "sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz", + "integrity": "sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@fal-works/esbuild-plugin-global-externals": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", + "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.11.tgz", + "integrity": "sha512-f/xC+6Z2QKsRJ+VSSFlt4hA5KSRm+PKvMWV8kMPkMgGlFidR6PeIkXrOasIY2roe+WROM6GFQLlgDKfeEZo2YQ==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.5.tgz", + "integrity": "sha512-mfcTuMbFowq1wh/Rn5KQl6qb95M21Prej3bewD9dUQMurYGVckGO/Pbe2Ocwto6sD05b/mxZLspvqwx60xO2Rg==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@grpc/grpc-js/node_modules/protobufjs": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.2.tgz", + "integrity": "sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@grpc/grpc-js/node_modules/protobufjs/node_modules/long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + }, + "node_modules/@grpc/proto-loader": { + "version": "0.6.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.13.tgz", + "integrity": "sha512-FjxPYDRTn6Ec3V0arm1FtSpmP6V50wuph2yILpyvTKzjc76oDdoihXqM1DzOW5ubvCC8GivfCnNtfaRE8myJ7g==", + "dependencies": { + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^6.11.3", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@js-temporal/polyfill": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@js-temporal/polyfill/-/polyfill-0.4.3.tgz", + "integrity": "sha512-6Fmjo/HlkyVCmJzAPnvtEWlcbQUSRhi8qlN9EtJA/wP7FqXsevLLrlojR44kzNzrRkpf7eDJ+z7b4xQD/Ycypw==", + "dependencies": { + "jsbi": "^4.1.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@mdx-js/esbuild": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/esbuild/-/esbuild-2.3.0.tgz", + "integrity": "sha512-r/vsqsM0E+U4Wr0DK+0EfmABE/eg+8ITW4DjvYdh3ve/tK2safaqHArNnaqbOk1DjYGrhxtoXoGaM3BY8fGBTA==", + "dependencies": { + "@mdx-js/mdx": "^2.0.0", + "node-fetch": "^3.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "esbuild": ">=0.11.0" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", + "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/mdx": "^2.0.0", + "estree-util-build-jsx": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-to-js": "^1.1.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^2.0.0", + "markdown-extensions": "^1.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^2.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "unified": "^10.0.0", + "unist-util-position-from-estree": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@next/env": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.2.1.tgz", + "integrity": "sha512-Hq+6QZ6kgmloCg8Kgrix+4F0HtvLqVK3FZAnlAoS0eonaDemHe1Km4kwjSWRE3JNpJNcKxFHF+jsZrYo0SxWoQ==" + }, + "node_modules/@next/font": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/@next/font/-/font-13.2.3.tgz", + "integrity": "sha512-7EHzk0f7FVYICLUZTpyPk93IfcTUao++Xt1Sgb+Zk5dVOCYHabqLtlF5ywSoXIqyFlo0qlshEBxsrzHAGTWkDw==" + }, + "node_modules/@next/mdx": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-13.2.3.tgz", + "integrity": "sha512-4xo0wF6FMrtQI7587Z6pbXd6crtGJI3axZ2kxbxCNC0osjlLUSeCNg2lahi8JTEpyc0+KH6B0e0bhsymTMkw7Q==", + "dependencies": { + "source-map": "^0.7.0" + }, + "peerDependencies": { + "@mdx-js/loader": ">=0.15.0", + "@mdx-js/react": ">=0.15.0" + }, + "peerDependenciesMeta": { + "@mdx-js/loader": { + "optional": true + }, + "@mdx-js/react": { + "optional": true + } + } + }, + "node_modules/@next/swc-android-arm-eabi": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.1.tgz", + "integrity": "sha512-Yua7mUpEd1wzIT6Jjl3dpRizIfGp9NR4F2xeRuQv+ae+SDI1Em2WyM9m46UL+oeW5GpMiEHoaBagr47RScZFmQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-android-arm64": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.2.1.tgz", + "integrity": "sha512-Bifcr2f6VwInOdq1uH/9lp8fH7Nf7XGkIx4XceVd32LPJqG2c6FZU8ZRBvTdhxzXVpt5TPtuXhOP4Ij9UPqsVw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.1.tgz", + "integrity": "sha512-gvqm+fGMYxAkwBapH0Vvng5yrb6HTkIvZfY4oEdwwYrwuLdkjqnJygCMgpNqIFmAHSXgtlWxfYv1VC8sjN81Kw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.1.tgz", + "integrity": "sha512-HGqVqmaZWj6zomqOZUVbO5NhlABL0iIaxTmd0O5B0MoMa5zpDGoaHSG+fxgcWMXcGcxmUNchv1NfNOYiTKoHOg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-freebsd-x64": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.1.tgz", + "integrity": "sha512-N/a4JarAq+E+g+9K2ywJUmDIgU2xs2nA+BBldH0oq4zYJMRiUhL0iaN9G4e72VmGOJ61L/3W6VN8RIUOwTLoqQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm-gnueabihf": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.1.tgz", + "integrity": "sha512-WaFoerF/eRbhbE57TaIGJXbQAERADZ/RZ45u6qox9beb5xnWsyYgzX+WuN7Tkhyvga0/aMuVYFzS9CEay7D+bw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.1.tgz", + "integrity": "sha512-R+Jhc1/RJTnncE9fkePboHDNOCm1WJ8daanWbjKhfPySMyeniKYRwGn5SLYW3S8YlRS0QVdZaaszDSZWgUcsmA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.1.tgz", + "integrity": "sha512-oI1UfZPidGAVddlL2eOTmfsuKV9EaT1aktIzVIxIAgxzQSdwsV371gU3G55ggkurzfdlgF3GThFePDWF0d8dmw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.1.tgz", + "integrity": "sha512-PCygPwrQmS+7WUuAWWioWMZCzZm4PG91lfRxToLDg7yIm/3YfAw5N2EK2TaM9pzlWdvHQAqRMX/oLvv027xUiA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.1.tgz", + "integrity": "sha512-sUAKxo7CFZYGHNxheGh9nIBElLYBM6md/liEGfOTwh/xna4/GTTcmkGWkF7PdnvaYNgcPIQgHIMYiAa6yBKAVw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.1.tgz", + "integrity": "sha512-qDmyEjDBpl/vBXxuOOKKWmPQOcARcZIMach1s7kjzaien0SySut/PHRlj56sosa81Wt4hTGhfhZ1R7g1n7+B8w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.1.tgz", + "integrity": "sha512-2joqFQ81ZYPg6DcikIzQn3DgjKglNhPAozx6dL5sCNkr1CPMD0YIkJgT3CnYyMHQ04Qi3Npv0XX3MD6LJO8OCA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.1.tgz", + "integrity": "sha512-r3+0fSaIZT6N237iMzwUhfNwjhAFvXjqB+4iuW+wcpxW+LHm1g/IoxN8eSRcb8jPItC86JxjAxpke0QL97qd6g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@opentelemetry/api": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.0.tgz", + "integrity": "sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-metrics": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-metrics/-/api-metrics-0.31.0.tgz", + "integrity": "sha512-PcL1x0kZtMie7NsNy67OyMvzLEXqf3xd0TZJKHHPMGTe89oMpNVrD1zJB1kZcwXOxLlHHb6tz21G3vvXPdXyZg==", + "deprecated": "Please use @opentelemetry/api >= 1.3.0", + "dependencies": { + "@opentelemetry/api": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-grpc": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.31.0.tgz", + "integrity": "sha512-WapHtHPLOFObRMvtfRJX/EBRZS4YLpRY8E/OtIQmmAqwImDMAnMVF9fAjP6DSE/thOIN3Ot0/PLK5zFZUVV8SA==", + "dependencies": { + "@grpc/grpc-js": "^1.5.9", + "@grpc/proto-loader": "^0.6.9", + "@opentelemetry/core": "1.5.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.31.0", + "@opentelemetry/otlp-transformer": "0.31.0", + "@opentelemetry/resources": "1.5.0", + "@opentelemetry/sdk-trace-base": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.5.0.tgz", + "integrity": "sha512-B3DIMkQN0DANrr7XrMLS4pR6d2o/jqT09x4nZJz6wSJ9SHr4eQIqeFBNeEUQG1I+AuOcH2UbJtgFm7fKxLqd+w==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/otlp-transformer": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.31.0.tgz", + "integrity": "sha512-xCEsB0gTs7s/FMEv8+DWE6awfHJ5oHkFKSGePr6tT5Mh95rd1845WTefvLc++mYpewY8KnQ7tyo/zEfwywCIhw==", + "dependencies": { + "@opentelemetry/api-metrics": "0.31.0", + "@opentelemetry/core": "1.5.0", + "@opentelemetry/resources": "1.5.0", + "@opentelemetry/sdk-metrics-base": "0.31.0", + "@opentelemetry/sdk-trace-base": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/resources": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.5.0.tgz", + "integrity": "sha512-YeEfC6IY54U3xL3P2+UAiom+r50ZF2jM0J47RV5uTFGF19Xjd5zazSwDPgmxtAd6DwLX0/5S5iqrsH4nEXMYoA==", + "dependencies": { + "@opentelemetry/core": "1.5.0", + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-grpc/node_modules/@opentelemetry/sdk-trace-base": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.5.0.tgz", + "integrity": "sha512-6lx7YDf67HSQYuWnvq3XgSrWikDJLiGCbrpUP6UWJ5Z47HLcJvwZPRH+cQGJu1DFS3dT2cV3GpAR75/OofPNHQ==", + "dependencies": { + "@opentelemetry/core": "1.5.0", + "@opentelemetry/resources": "1.5.0", + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.31.0.tgz", + "integrity": "sha512-MI+LtGo/ZYL/g7ldWTAY9vMjMqlcWMj2undgcnq8Y5BoDLI8oBwGn//Lizjk4NikF+SkcolKB3+U05nCeT5djg==", + "dependencies": { + "@opentelemetry/core": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/otlp-exporter-base/node_modules/@opentelemetry/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.5.0.tgz", + "integrity": "sha512-B3DIMkQN0DANrr7XrMLS4pR6d2o/jqT09x4nZJz6wSJ9SHr4eQIqeFBNeEUQG1I+AuOcH2UbJtgFm7fKxLqd+w==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/otlp-grpc-exporter-base": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.31.0.tgz", + "integrity": "sha512-TfNZsQhWNd05CAaOwgN2lVthC8mkxvoArV6LfSyKyqSZ6srCnYPuW64yS/9buEhNvTkT3y63dzkVSnnv/1b3ow==", + "dependencies": { + "@grpc/grpc-js": "^1.5.9", + "@grpc/proto-loader": "^0.6.9", + "@opentelemetry/core": "1.5.0", + "@opentelemetry/otlp-exporter-base": "0.31.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/otlp-grpc-exporter-base/node_modules/@opentelemetry/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.5.0.tgz", + "integrity": "sha512-B3DIMkQN0DANrr7XrMLS4pR6d2o/jqT09x4nZJz6wSJ9SHr4eQIqeFBNeEUQG1I+AuOcH2UbJtgFm7fKxLqd+w==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics-base": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics-base/-/sdk-metrics-base-0.31.0.tgz", + "integrity": "sha512-4R2Bjl3wlqIGcq4bCoI9/pD49ld+tEoM9n85UfFzr/aUe+2huY2jTPq/BP9SVB8d2Zfg7mGTIFeapcEvAdKK7g==", + "deprecated": "Please use @opentelemetry/sdk-metrics", + "dependencies": { + "@opentelemetry/api-metrics": "0.31.0", + "@opentelemetry/core": "1.5.0", + "@opentelemetry/resources": "1.5.0", + "lodash.merge": "4.6.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics-base/node_modules/@opentelemetry/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.5.0.tgz", + "integrity": "sha512-B3DIMkQN0DANrr7XrMLS4pR6d2o/jqT09x4nZJz6wSJ9SHr4eQIqeFBNeEUQG1I+AuOcH2UbJtgFm7fKxLqd+w==", + "dependencies": { + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/sdk-metrics-base/node_modules/@opentelemetry/resources": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.5.0.tgz", + "integrity": "sha512-YeEfC6IY54U3xL3P2+UAiom+r50ZF2jM0J47RV5uTFGF19Xjd5zazSwDPgmxtAd6DwLX0/5S5iqrsH4nEXMYoA==", + "dependencies": { + "@opentelemetry/core": "1.5.0", + "@opentelemetry/semantic-conventions": "1.5.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.2.0" + } + }, + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.5.0.tgz", + "integrity": "sha512-wlYG/U6ddW1ilXslnDLLQYJ8nd97W8JJTTfwkGhubx6dzW6SUkd+N4/MzTjjyZlrHQunxHtkHFvVpUKiROvFDw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@swc/helpers": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/line-clamp": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.2.tgz", + "integrity": "sha512-HFzAQuqYCjyy/SX9sLGB1lroPzmcnWv1FHkIpmypte10hptf4oPUfucryMKovZh2u0uiS9U5Ty3GghWfEJGwVw==", + "dev": true, + "peerDependencies": { + "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.9.tgz", + "integrity": "sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", + "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.3.tgz", + "integrity": "sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==" + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/node": { + "version": "18.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.1.tgz", + "integrity": "sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ==" + }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.0.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", + "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "node_modules/@vercel/analytics": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-0.1.11.tgz", + "integrity": "sha512-mj5CPR02y0BRs1tN3oZcBNAX9a8NxsIUl9vElDPcqxnMfP0RbRc9fI9Ud7+QDg/1Izvt5uMumsr+6YsmVHcyuw==", + "peerDependencies": { + "react": "^16.8||^17||^18" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz", + "integrity": "sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==", + "peer": true + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-timsort": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-timsort/-/array-timsort-1.0.3.tgz", + "integrity": "sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==" + }, + "node_modules/astring": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.4.tgz", + "integrity": "sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001458", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz", + "integrity": "sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/clipanion": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/clipanion/-/clipanion-3.2.0.tgz", + "integrity": "sha512-XaPQiJQZKbyaaDbv5yR/cAt/ORfZfENkr4wGQj+Go/Uf/65ofTQBCPirgWFeJctZW24V3mxrFiEnEmqBflrJYA==", + "dependencies": { + "typanion": "^3.8.0" + }, + "peerDependencies": { + "typanion": "*" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comment-json": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/comment-json/-/comment-json-4.2.3.tgz", + "integrity": "sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==", + "dependencies": { + "array-timsort": "^1.0.3", + "core-util-is": "^1.0.3", + "esprima": "^4.0.1", + "has-own-prop": "^2.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/contentlayer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/contentlayer/-/contentlayer-0.3.0.tgz", + "integrity": "sha512-3LEF5HMHjSytlT8SErC3U59Pt2LP80a6Z2f/0mSIPeA4xty0LNChyHqzALySSM0osAEz32RY56Fifk5P+2dCIA==", + "hasInstallScript": true, + "dependencies": { + "@contentlayer/cli": "0.3.0", + "@contentlayer/client": "0.3.0", + "@contentlayer/core": "0.3.0", + "@contentlayer/source-files": "0.3.0", + "@contentlayer/source-remote-files": "0.3.0", + "@contentlayer/utils": "0.3.0" + }, + "bin": { + "contentlayer": "bin/cli.cjs" + }, + "engines": { + "node": ">=14.18" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, + "dependencies": { + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.315", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.315.tgz", + "integrity": "sha512-ndBQYz3Eyy3rASjjQ9poMJGoAlsZ/aZnq6GBsGL4w/4sWIAwiUHVSsMuADbxa8WJw7pZ0oxLpGbtoDt4vRTdCg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/esbuild": { + "version": "0.17.10", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.10.tgz", + "integrity": "sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.10", + "@esbuild/android-arm64": "0.17.10", + "@esbuild/android-x64": "0.17.10", + "@esbuild/darwin-arm64": "0.17.10", + "@esbuild/darwin-x64": "0.17.10", + "@esbuild/freebsd-arm64": "0.17.10", + "@esbuild/freebsd-x64": "0.17.10", + "@esbuild/linux-arm": "0.17.10", + "@esbuild/linux-arm64": "0.17.10", + "@esbuild/linux-ia32": "0.17.10", + "@esbuild/linux-loong64": "0.17.10", + "@esbuild/linux-mips64el": "0.17.10", + "@esbuild/linux-ppc64": "0.17.10", + "@esbuild/linux-riscv64": "0.17.10", + "@esbuild/linux-s390x": "0.17.10", + "@esbuild/linux-x64": "0.17.10", + "@esbuild/netbsd-x64": "0.17.10", + "@esbuild/openbsd-x64": "0.17.10", + "@esbuild/sunos-x64": "0.17.10", + "@esbuild/win32-arm64": "0.17.10", + "@esbuild/win32-ia32": "0.17.10", + "@esbuild/win32-x64": "0.17.10" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", + "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", + "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", + "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", + "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz", + "integrity": "sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==", + "dependencies": { + "is-plain-obj": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-own-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-own-prop/-/has-own-prop-2.0.0.tgz", + "integrity": "sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hash-obj": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hash-obj/-/hash-obj-4.0.0.tgz", + "integrity": "sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==", + "dependencies": { + "is-obj": "^3.0.0", + "sort-keys": "^5.0.0", + "type-fest": "^1.0.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hash-obj/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hash-wasm": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.9.0.tgz", + "integrity": "sha512-7SW7ejyfnRxuOc7ptQHSf4LDoZaWOivfzqw+5rpcQku0nHfmicPKE51ra9BiRLAmT8+gGLestr1XroUkqdjL6w==" + }, + "node_modules/hast-util-from-parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz", + "integrity": "sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", + "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-heading-rank": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", + "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz", + "integrity": "sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.2.tgz", + "integrity": "sha512-YYDwATNdnvZi3Qi84iatPIl1lWpXba1MeNrNbDfJfVzEBZL8uUmtR7mt7bxKBC8kuAuvb0bkojXYZzsNHyHCLg==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.1", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz", + "integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^7.0.0", + "hast-util-whitespace": "^2.0.0", + "html-void-elements": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", + "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imagescript": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/imagescript/-/imagescript-1.2.16.tgz", + "integrity": "sha512-hhy8OVNymU+cYYj8IwCbdNlXJRoMr4HRd7+efkH32eBVfybVU/5SbzDYf3ZSiiF9ye/ghfBrI/ujec/nwl+fOQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/inflection": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-2.0.1.tgz", + "integrity": "sha512-wzkZHqpb4eGrOKBl34xy3umnYHx8Si5R1U4fwmdxLo5gdH6mEK8gclckTj/qWqy4Je0bsDYe/qazZYuO7xe3XQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-3.0.0.tgz", + "integrity": "sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", + "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbi": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jsbi/-/jsbi-4.3.0.tgz", + "integrity": "sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g==" + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "peer": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lucide-react": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.115.0.tgz", + "integrity": "sha512-VGL7jBKN6pEXi6peXoyn9t9O7olvinaAonnoe+iFi/F2q7/yQzAFM5KR1OY15u9PlrB3scI9HvcTFoOrIjUaVQ==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/markdown-wasm": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/markdown-wasm/-/markdown-wasm-1.2.0.tgz", + "integrity": "sha512-S12OTkyXCkOgI1n1rZY9cg4bK/PGu80Emjpvwp8BEjwCxhPV3yddF0U6+QhCitdBsI1tzWcoeahmW7k0Pq81OA==" + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", + "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-extension-frontmatter": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", + "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.2.tgz", + "integrity": "sha512-o9vBCYQK5ZLGEj3tCGISJGjvafyHRVJlZmfJzSE7xjiogSzIeph/Z4zMY65q4WGRMezQBeAwPlrdymDYYYx0tA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdx-bundler": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/mdx-bundler/-/mdx-bundler-9.2.1.tgz", + "integrity": "sha512-hWEEip1KU9MCNqeH2rqwzAZ1pdqPPbfkx9OTJjADqGPQz4t9BO85fhI7AP9gVYrpmfArf9/xJZUN0yBErg/G/Q==", + "dependencies": { + "@babel/runtime": "^7.16.3", + "@esbuild-plugins/node-resolve": "^0.1.4", + "@fal-works/esbuild-plugin-global-externals": "^2.1.2", + "@mdx-js/esbuild": "^2.0.0", + "gray-matter": "^4.0.3", + "remark-frontmatter": "^4.0.1", + "remark-mdx-frontmatter": "^1.1.1", + "uuid": "^8.3.2", + "vfile": "^5.3.2" + }, + "engines": { + "node": ">=14", + "npm": ">=6" + }, + "peerDependencies": { + "esbuild": "0.*" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-frontmatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.1.tgz", + "integrity": "sha512-9OJhCXkrpj8qIXW5AAgRZGvS8Q4GTMdH5+Ljt98kV4XQVflRGeEhNRYp6O/zCvf8c8lZ+wc4uwmbly27pS/s4Q==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", + "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", + "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", + "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", + "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", + "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", + "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.4.tgz", + "integrity": "sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", + "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==", + "dependencies": { + "@types/acorn": "^4.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz", + "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz", + "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz", + "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.7.tgz", + "integrity": "sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.1.tgz", + "integrity": "sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-location": "^4.0.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/next/-/next-13.2.1.tgz", + "integrity": "sha512-qhgJlDtG0xidNViJUPeQHLGJJoT4zDj/El7fP3D3OzpxJDUfxsm16cK4WTMyvSX1ciIfAq05u+0HqFAa+VJ+Hg==", + "dependencies": { + "@next/env": "13.2.1", + "@swc/helpers": "0.4.14", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.14", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=14.6.0" + }, + "optionalDependencies": { + "@next/swc-android-arm-eabi": "13.2.1", + "@next/swc-android-arm64": "13.2.1", + "@next/swc-darwin-arm64": "13.2.1", + "@next/swc-darwin-x64": "13.2.1", + "@next/swc-freebsd-x64": "13.2.1", + "@next/swc-linux-arm-gnueabihf": "13.2.1", + "@next/swc-linux-arm64-gnu": "13.2.1", + "@next/swc-linux-arm64-musl": "13.2.1", + "@next/swc-linux-x64-gnu": "13.2.1", + "@next/swc-linux-x64-musl": "13.2.1", + "@next/swc-win32-arm64-msvc": "13.2.1", + "@next/swc-win32-ia32-msvc": "13.2.1", + "@next/swc-win32-x64-msvc": "13.2.1" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.4.0", + "fibers": ">= 3.1.0", + "node-sass": "^6.0.0 || ^7.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-contentlayer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/next-contentlayer/-/next-contentlayer-0.3.0.tgz", + "integrity": "sha512-vt+RaD3nIgZ6oXadtZH19a1mpxvGEoiifdtmXqBSz4rHMRcMA1YZCuSWyj+P9uX7MDmIL6JT6QSp+hvTBMaxiw==", + "dependencies": { + "@contentlayer/core": "0.3.0", + "@contentlayer/utils": "0.3.0" + }, + "peerDependencies": { + "next": "^12 || ^13", + "react": "*", + "react-dom": "*" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.0.tgz", + "integrity": "sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/oo-ascii-tree": { + "version": "1.76.0", + "resolved": "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.76.0.tgz", + "integrity": "sha512-I/me4GK6Dybc9lsPYZJdnd1OOFbbnZtfEIIizrbTuFx/v1if375Y59w9ol/TJ75MlSAKs4aHj7Xm+A4E0JitSw==", + "engines": { + "node": ">= 14.6.0" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", + "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-11.2.1.tgz", + "integrity": "sha512-E6Jq74Jo/PbRAtZioON54NPhUNJYxVWhwxbweYl1vAoBYuGlDIts5yhtKiZFLvkvwT73e/9nFrW3oMqAtgG+GQ==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/property-information": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", + "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/rehype-autolink-headings": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rehype-autolink-headings/-/rehype-autolink-headings-6.1.1.tgz", + "integrity": "sha512-NMYzZIsHM3sA14nC5rAFuUPIOfg+DFmf9EY1YMhaNlB7+3kK/ZlE6kqPfuxr1tsJ1XWkTrMtMoyHosU70d35mA==", + "dependencies": { + "@types/hast": "^2.0.0", + "extend": "^3.0.0", + "hast-util-has-property": "^2.0.0", + "hast-util-heading-rank": "^2.0.0", + "hast-util-is-element": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-pretty-code": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/rehype-pretty-code/-/rehype-pretty-code-0.9.4.tgz", + "integrity": "sha512-3m4aQT15n8C+UizcZL0enaahoZwCDm5K1qKQ3DGgHE7U8l/DEEEJ/hm+uDe9yyK4sxVOSfZcRIMHrpJwLQi+Rg==", + "dependencies": { + "hash-obj": "^4.0.0", + "parse-numeric-range": "^1.3.0" + }, + "engines": { + "node": "^12.16.0 || >=13.2.0" + }, + "peerDependencies": { + "shiki": "*" + } + }, + "node_modules/rehype-slug": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-5.1.0.tgz", + "integrity": "sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==", + "dependencies": { + "@types/hast": "^2.0.0", + "github-slugger": "^2.0.0", + "hast-util-has-property": "^2.0.0", + "hast-util-heading-rank": "^2.0.0", + "hast-util-to-string": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.3.tgz", + "integrity": "sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-to-html": "^8.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-frontmatter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", + "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-frontmatter": "^1.0.0", + "micromark-extension-frontmatter": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", + "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "dependencies": { + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx-frontmatter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-1.1.1.tgz", + "integrity": "sha512-7teX9DW4tI2WZkXS4DBxneYSY7NHiXl4AKdWDO9LXVweULlCT8OPWsOjLEnMIXViN1j+QcY8mfbq3k0EK6x3uA==", + "dependencies": { + "estree-util-is-identifier-name": "^1.0.0", + "estree-util-value-to-estree": "^1.0.0", + "js-yaml": "^4.0.0", + "toml": "^3.0.0" + }, + "engines": { + "node": ">=12.2.0" + } + }, + "node_modules/remark-mdx-frontmatter/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/remark-mdx-frontmatter/node_modules/estree-util-is-identifier-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-1.1.0.tgz", + "integrity": "sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/remark-mdx-frontmatter/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shiki": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.1.tgz", + "integrity": "sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==", + "peer": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "node_modules/sort-keys": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.0.0.tgz", + "integrity": "sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-keys/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-object": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", + "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", + "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", + "dev": true, + "dependencies": { + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "detective": "^5.2.1", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "lilconfig": "^2.0.6", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.0.9", + "postcss-import": "^14.1.0", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.4", + "postcss-nested": "6.0.0", + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss-debug-screens": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tailwindcss-debug-screens/-/tailwindcss-debug-screens-2.2.1.tgz", + "integrity": "sha512-EMyA0CYBzqcZJHtVDvBfmYzfx3NxuK4qDyVO5wnzcGOrmJsv25D9xPpWefVTORTvhE6pCh90Z1WYnLUKsg3yMw==", + "dev": true, + "peerDependencies": { + "tailwindcss": "^1.0 || ^2.0 || ^3.0.0-alpha.1 || ^3.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-pattern": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-4.2.1.tgz", + "integrity": "sha512-lXCmHZb01QOM9HdCLvisCGUH9ATdKPON9UaUvwe007gJAhuSBhRWIAIowys5QqNxEq6odWctfMIdI96vzjnOMQ==" + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/typanion": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/typanion/-/typanion-3.12.1.tgz", + "integrity": "sha512-3SJF/czpzqq6G3lprGFLa6ps12yb1uQ1EmitNnep2fDMNh1aO/Zbq9sWY+3lem0zYb2oHJnQWyabTGUZ+L1ScQ==" + }, + "node_modules/type-fest": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.6.1.tgz", + "integrity": "sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.1.0.tgz", + "integrity": "sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "peer": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "peer": true + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/zod": { + "version": "3.20.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.20.6.tgz", + "integrity": "sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json index b62901d..29d86a5 100644 --- a/package.json +++ b/package.json @@ -11,14 +11,15 @@ "dependencies": { "@next/font": "^13.2.1", "@next/mdx": "^13.2.1", - "@types/node": "18.14.1", + "@types/node": "18.15.0", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "@vercel/analytics": "^0.1.10", "contentlayer": "^0.3.0", - "lucide-react": "^0.115.0", + "framer-motion": "^10.8.5", + "lucide-react": "^0.125.0", "markdown-wasm": "^1.2.0", - "next": "13.2.1", + "next": "13.2.4", "next-contentlayer": "^0.3.0", "react": "18.2.0", "react-dom": "18.2.0", @@ -29,6 +30,7 @@ "typescript": "4.9.5" }, "devDependencies": { + "@opentelemetry/api": "^1.1.0", "@tailwindcss/line-clamp": "^0.4.2", "@tailwindcss/typography": "^0.5.9", "autoprefixer": "^10.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acb8c15..7015abc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,17 +3,19 @@ lockfileVersion: 5.4 specifiers: '@next/font': ^13.2.1 '@next/mdx': ^13.2.1 + '@opentelemetry/api': ^1.1.0 '@tailwindcss/line-clamp': ^0.4.2 '@tailwindcss/typography': ^0.5.9 - '@types/node': 18.14.1 + '@types/node': 18.15.0 '@types/react': 18.0.28 '@types/react-dom': 18.0.11 '@vercel/analytics': ^0.1.10 autoprefixer: ^10.4.13 contentlayer: ^0.3.0 - lucide-react: ^0.115.0 + framer-motion: ^10.8.5 + lucide-react: ^0.125.0 markdown-wasm: ^1.2.0 - next: 13.2.1 + next: 13.2.4 next-contentlayer: ^0.3.0 postcss: ^8.4.21 postcss-nesting: ^11.2.1 @@ -29,17 +31,18 @@ specifiers: typescript: 4.9.5 dependencies: - '@next/font': 13.2.1 - '@next/mdx': 13.2.1 - '@types/node': 18.14.1 + '@next/font': 13.2.4 + '@next/mdx': 13.2.4 + '@types/node': 18.15.0 '@types/react': 18.0.28 '@types/react-dom': 18.0.11 - '@vercel/analytics': 0.1.10_react@18.2.0 - contentlayer: 0.3.0_ui6uvxfppeck4ve6baobv322ca - lucide-react: 0.115.0_react@18.2.0 + '@vercel/analytics': 0.1.11_react@18.2.0 + contentlayer: 0.3.0_lbem3ogs7du3nc6v7afeau4mee + framer-motion: 10.8.5_biqbaboplfbrettd7655fr4n2y + lucide-react: 0.125.0_react@18.2.0 markdown-wasm: 1.2.0 - next: 13.2.1_rfdx5ocjtvb4b2h5j5ipjicct4 - next-contentlayer: 0.3.0_scjb6dpb3mjs6ovmhgft7llkle + next: 13.2.4_iiqxgyfhgb2flqmfjn2la6rgku + next-contentlayer: 0.3.0_2txxxasfjc2y3wz4b3hzs7n7gm react: 18.2.0 react-dom: 18.2.0_react@18.2.0 rehype-autolink-headings: 6.1.1 @@ -49,9 +52,10 @@ dependencies: typescript: 4.9.5 devDependencies: + '@opentelemetry/api': 1.4.0 '@tailwindcss/line-clamp': 0.4.2_tailwindcss@3.2.7 '@tailwindcss/typography': 0.5.9_tailwindcss@3.2.7 - autoprefixer: 10.4.13_postcss@8.4.21 + autoprefixer: 10.4.14_postcss@8.4.21 postcss: 8.4.21 postcss-nesting: 11.2.1_postcss@8.4.21 rome: 11.0.0 @@ -67,10 +71,10 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@contentlayer/cli/0.3.0_ui6uvxfppeck4ve6baobv322ca: + /@contentlayer/cli/0.3.0_lbem3ogs7du3nc6v7afeau4mee: resolution: {integrity: sha512-Mqb6NlIKINt2qsPKft+o8m5tJhJXVgVSd0zP1BH+CQRmvR/zwTT3maz1bDCPHBYGKgGCQKtvgM66IjvH+dmC6Q==} dependencies: - '@contentlayer/core': 0.3.0_ui6uvxfppeck4ve6baobv322ca + '@contentlayer/core': 0.3.0_lbem3ogs7du3nc6v7afeau4mee '@contentlayer/utils': 0.3.0 clipanion: 3.2.0_typanion@3.12.1 typanion: 3.12.1 @@ -81,10 +85,10 @@ packages: - supports-color dev: false - /@contentlayer/client/0.3.0_ui6uvxfppeck4ve6baobv322ca: + /@contentlayer/client/0.3.0_lbem3ogs7du3nc6v7afeau4mee: resolution: {integrity: sha512-yzDYiZtqOJwWrsykieA1LMnhKbaYcJhAy7s8Xs7zU5wFfyBTO258gvmK5dVi4LuzmOOPVMJn6FpEofT/RAKVtg==} dependencies: - '@contentlayer/core': 0.3.0_ui6uvxfppeck4ve6baobv322ca + '@contentlayer/core': 0.3.0_lbem3ogs7du3nc6v7afeau4mee transitivePeerDependencies: - '@effect-ts/otel-node' - esbuild @@ -92,7 +96,7 @@ packages: - supports-color dev: false - /@contentlayer/core/0.3.0_ui6uvxfppeck4ve6baobv322ca: + /@contentlayer/core/0.3.0_lbem3ogs7du3nc6v7afeau4mee: resolution: {integrity: sha512-5cL4W0nK9kNqxgBkIgauUko0SRAHf8oPoxRhdsSPQ7FSCgZGz2crMeSJOFmj3a3govh863/mKhXfkoUJBoDgnA==} peerDependencies: esbuild: 0.17.x @@ -106,10 +110,10 @@ packages: '@contentlayer/utils': 0.3.0 camel-case: 4.1.2 comment-json: 4.2.3 - esbuild: 0.17.10 + esbuild: 0.17.11 gray-matter: 4.0.3 markdown-wasm: 1.2.0 - mdx-bundler: 9.2.1_esbuild@0.17.10 + mdx-bundler: 9.2.1_esbuild@0.17.11 rehype-stringify: 9.0.3 remark-frontmatter: 4.0.1 remark-parse: 10.0.1 @@ -122,10 +126,10 @@ packages: - supports-color dev: false - /@contentlayer/source-files/0.3.0_ui6uvxfppeck4ve6baobv322ca: + /@contentlayer/source-files/0.3.0_lbem3ogs7du3nc6v7afeau4mee: resolution: {integrity: sha512-6crNuRdWGYFec0Kn/DpbrzpOu8bttFmOmOpX1HIYQz4iPisg+8biybLBiNU7Y6aCUjEZLOnM7AaHpMFvhrYWsw==} dependencies: - '@contentlayer/core': 0.3.0_ui6uvxfppeck4ve6baobv322ca + '@contentlayer/core': 0.3.0_lbem3ogs7du3nc6v7afeau4mee '@contentlayer/utils': 0.3.0 chokidar: 3.5.3 fast-glob: 3.2.12 @@ -135,7 +139,7 @@ packages: ts-pattern: 4.2.1 unified: 10.1.2 yaml: 1.10.2 - zod: 3.20.6 + zod: 3.21.4 transitivePeerDependencies: - '@effect-ts/otel-node' - esbuild @@ -143,11 +147,11 @@ packages: - supports-color dev: false - /@contentlayer/source-remote-files/0.3.0_ui6uvxfppeck4ve6baobv322ca: + /@contentlayer/source-remote-files/0.3.0_lbem3ogs7du3nc6v7afeau4mee: resolution: {integrity: sha512-4PnaK5cfQiduMUEO6nzqsD4ttD5RG4ffcyeSp5MLhpU0DTEZcfGXFRO777ddEI8PZ0/NJuhfz9MGbdO90QYlsw==} dependencies: - '@contentlayer/core': 0.3.0_ui6uvxfppeck4ve6baobv322ca - '@contentlayer/source-files': 0.3.0_ui6uvxfppeck4ve6baobv322ca + '@contentlayer/core': 0.3.0_lbem3ogs7du3nc6v7afeau4mee + '@contentlayer/source-files': 0.3.0_lbem3ogs7du3nc6v7afeau4mee '@contentlayer/utils': 0.3.0 transitivePeerDependencies: - '@effect-ts/otel-node' @@ -183,7 +187,7 @@ packages: chokidar: 3.5.3 hash-wasm: 4.9.0 inflection: 2.0.1 - oo-ascii-tree: 1.76.0 + oo-ascii-tree: 1.77.0 ts-pattern: 4.2.1 type-fest: 3.6.1 dev: false @@ -257,22 +261,35 @@ packages: resolution: {integrity: sha512-/crHGujo0xnuHIYNc1VgP0HGJGFSoSqq88JFXe6FmFyXPpWt8Xu39LyLg7rchsxfXFeEdA9CrIZvLV5eswXV5g==} dev: false - /@esbuild-plugins/node-resolve/0.1.4_esbuild@0.17.10: + /@emotion/is-prop-valid/0.8.8: + resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} + requiresBuild: true + dependencies: + '@emotion/memoize': 0.7.4 + dev: false + optional: true + + /@emotion/memoize/0.7.4: + resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==} + dev: false + optional: true + + /@esbuild-plugins/node-resolve/0.1.4_esbuild@0.17.11: resolution: {integrity: sha512-haFQ0qhxEpqtWWY0kx1Y5oE3sMyO1PcoSiWEPrAw6tm/ZOOLXjSs6Q+v1v9eyuVF0nNt50YEvrcrvENmyoMv5g==} peerDependencies: esbuild: '*' dependencies: '@types/resolve': 1.20.2 debug: 4.3.4 - esbuild: 0.17.10 + esbuild: 0.17.11 escape-string-regexp: 4.0.0 resolve: 1.22.1 transitivePeerDependencies: - supports-color dev: false - /@esbuild/android-arm/0.17.10: - resolution: {integrity: sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==} + /@esbuild/android-arm/0.17.11: + resolution: {integrity: sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -280,8 +297,8 @@ packages: dev: false optional: true - /@esbuild/android-arm64/0.17.10: - resolution: {integrity: sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==} + /@esbuild/android-arm64/0.17.11: + resolution: {integrity: sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -289,8 +306,8 @@ packages: dev: false optional: true - /@esbuild/android-x64/0.17.10: - resolution: {integrity: sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==} + /@esbuild/android-x64/0.17.11: + resolution: {integrity: sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -298,8 +315,8 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64/0.17.10: - resolution: {integrity: sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==} + /@esbuild/darwin-arm64/0.17.11: + resolution: {integrity: sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -307,8 +324,8 @@ packages: dev: false optional: true - /@esbuild/darwin-x64/0.17.10: - resolution: {integrity: sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==} + /@esbuild/darwin-x64/0.17.11: + resolution: {integrity: sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -316,8 +333,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64/0.17.10: - resolution: {integrity: sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==} + /@esbuild/freebsd-arm64/0.17.11: + resolution: {integrity: sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -325,8 +342,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64/0.17.10: - resolution: {integrity: sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==} + /@esbuild/freebsd-x64/0.17.11: + resolution: {integrity: sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -334,8 +351,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm/0.17.10: - resolution: {integrity: sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==} + /@esbuild/linux-arm/0.17.11: + resolution: {integrity: sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -343,8 +360,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm64/0.17.10: - resolution: {integrity: sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==} + /@esbuild/linux-arm64/0.17.11: + resolution: {integrity: sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -352,8 +369,8 @@ packages: dev: false optional: true - /@esbuild/linux-ia32/0.17.10: - resolution: {integrity: sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==} + /@esbuild/linux-ia32/0.17.11: + resolution: {integrity: sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -361,8 +378,8 @@ packages: dev: false optional: true - /@esbuild/linux-loong64/0.17.10: - resolution: {integrity: sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==} + /@esbuild/linux-loong64/0.17.11: + resolution: {integrity: sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -370,8 +387,8 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el/0.17.10: - resolution: {integrity: sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==} + /@esbuild/linux-mips64el/0.17.11: + resolution: {integrity: sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -379,8 +396,8 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64/0.17.10: - resolution: {integrity: sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==} + /@esbuild/linux-ppc64/0.17.11: + resolution: {integrity: sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -388,8 +405,8 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64/0.17.10: - resolution: {integrity: sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==} + /@esbuild/linux-riscv64/0.17.11: + resolution: {integrity: sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -397,8 +414,8 @@ packages: dev: false optional: true - /@esbuild/linux-s390x/0.17.10: - resolution: {integrity: sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==} + /@esbuild/linux-s390x/0.17.11: + resolution: {integrity: sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -406,8 +423,8 @@ packages: dev: false optional: true - /@esbuild/linux-x64/0.17.10: - resolution: {integrity: sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==} + /@esbuild/linux-x64/0.17.11: + resolution: {integrity: sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -415,8 +432,8 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64/0.17.10: - resolution: {integrity: sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==} + /@esbuild/netbsd-x64/0.17.11: + resolution: {integrity: sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -424,8 +441,8 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64/0.17.10: - resolution: {integrity: sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==} + /@esbuild/openbsd-x64/0.17.11: + resolution: {integrity: sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -433,8 +450,8 @@ packages: dev: false optional: true - /@esbuild/sunos-x64/0.17.10: - resolution: {integrity: sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==} + /@esbuild/sunos-x64/0.17.11: + resolution: {integrity: sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -442,8 +459,8 @@ packages: dev: false optional: true - /@esbuild/win32-arm64/0.17.10: - resolution: {integrity: sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==} + /@esbuild/win32-arm64/0.17.11: + resolution: {integrity: sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -451,8 +468,8 @@ packages: dev: false optional: true - /@esbuild/win32-ia32/0.17.10: - resolution: {integrity: sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==} + /@esbuild/win32-ia32/0.17.11: + resolution: {integrity: sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -460,8 +477,8 @@ packages: dev: false optional: true - /@esbuild/win32-x64/0.17.10: - resolution: {integrity: sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==} + /@esbuild/win32-x64/0.17.11: + resolution: {integrity: sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -473,12 +490,12 @@ packages: resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} dev: false - /@grpc/grpc-js/1.8.11: - resolution: {integrity: sha512-f/xC+6Z2QKsRJ+VSSFlt4hA5KSRm+PKvMWV8kMPkMgGlFidR6PeIkXrOasIY2roe+WROM6GFQLlgDKfeEZo2YQ==} + /@grpc/grpc-js/1.8.12: + resolution: {integrity: sha512-MbUMvpVvakeKhdYux6gbSIPJaFMLNSY8jw4PqLI+FFztGrQRrYYAnHlR94+ncBQQewkpXQaW449m3tpH/B/ZnQ==} engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.5 - '@types/node': 18.14.1 + '@types/node': 18.15.0 dev: false /@grpc/proto-loader/0.6.13: @@ -513,13 +530,13 @@ packages: tslib: 2.5.0 dev: false - /@mdx-js/esbuild/2.3.0_esbuild@0.17.10: + /@mdx-js/esbuild/2.3.0_esbuild@0.17.11: resolution: {integrity: sha512-r/vsqsM0E+U4Wr0DK+0EfmABE/eg+8ITW4DjvYdh3ve/tK2safaqHArNnaqbOk1DjYGrhxtoXoGaM3BY8fGBTA==} peerDependencies: esbuild: '>=0.11.0' dependencies: '@mdx-js/mdx': 2.3.0 - esbuild: 0.17.10 + esbuild: 0.17.11 node-fetch: 3.3.0 vfile: 5.3.7 transitivePeerDependencies: @@ -550,16 +567,16 @@ packages: - supports-color dev: false - /@next/env/13.2.1: - resolution: {integrity: sha512-Hq+6QZ6kgmloCg8Kgrix+4F0HtvLqVK3FZAnlAoS0eonaDemHe1Km4kwjSWRE3JNpJNcKxFHF+jsZrYo0SxWoQ==} + /@next/env/13.2.4: + resolution: {integrity: sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==} dev: false - /@next/font/13.2.1: - resolution: {integrity: sha512-4sergLt7xp9+mZuKME/xM4tLlHGTcmL7naCq0qCTcAlof6NnttshYgiLOdhSiy0NcI+/yM3BjvdEk++O96UzTg==} + /@next/font/13.2.4: + resolution: {integrity: sha512-lMAnuOYjv5g22WhD00u0DQ9u2rTMJH0S64PKE4Sy8Y2q+FJTYs6ZHT2z3VRoI8+AOWSLK4FirpnygcjOienQ9A==} dev: false - /@next/mdx/13.2.1: - resolution: {integrity: sha512-kWriuAxU3euPUugwoOI7WEo596QeHsxrbneKvItwrfu4YYZZLKNPHSnkLHvF7tlO9TjiPbFqYlK2xHK02Lp2SA==} + /@next/mdx/13.2.4: + resolution: {integrity: sha512-inl7u+OEa4Ok3uL052oa8EDw1bUkMGLVKzFfVBIgG19s29gxQvcWYzxa5t438J31ljApjh6Y5k4AD6yLaCAlQw==} peerDependencies: '@mdx-js/loader': '>=0.15.0' '@mdx-js/react': '>=0.15.0' @@ -572,8 +589,8 @@ packages: source-map: 0.7.4 dev: false - /@next/swc-android-arm-eabi/13.2.1: - resolution: {integrity: sha512-Yua7mUpEd1wzIT6Jjl3dpRizIfGp9NR4F2xeRuQv+ae+SDI1Em2WyM9m46UL+oeW5GpMiEHoaBagr47RScZFmQ==} + /@next/swc-android-arm-eabi/13.2.4: + resolution: {integrity: sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==} engines: {node: '>= 10'} cpu: [arm] os: [android] @@ -581,8 +598,8 @@ packages: dev: false optional: true - /@next/swc-android-arm64/13.2.1: - resolution: {integrity: sha512-Bifcr2f6VwInOdq1uH/9lp8fH7Nf7XGkIx4XceVd32LPJqG2c6FZU8ZRBvTdhxzXVpt5TPtuXhOP4Ij9UPqsVw==} + /@next/swc-android-arm64/13.2.4: + resolution: {integrity: sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==} engines: {node: '>= 10'} cpu: [arm64] os: [android] @@ -590,8 +607,8 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64/13.2.1: - resolution: {integrity: sha512-gvqm+fGMYxAkwBapH0Vvng5yrb6HTkIvZfY4oEdwwYrwuLdkjqnJygCMgpNqIFmAHSXgtlWxfYv1VC8sjN81Kw==} + /@next/swc-darwin-arm64/13.2.4: + resolution: {integrity: sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -599,8 +616,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64/13.2.1: - resolution: {integrity: sha512-HGqVqmaZWj6zomqOZUVbO5NhlABL0iIaxTmd0O5B0MoMa5zpDGoaHSG+fxgcWMXcGcxmUNchv1NfNOYiTKoHOg==} + /@next/swc-darwin-x64/13.2.4: + resolution: {integrity: sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -608,8 +625,8 @@ packages: dev: false optional: true - /@next/swc-freebsd-x64/13.2.1: - resolution: {integrity: sha512-N/a4JarAq+E+g+9K2ywJUmDIgU2xs2nA+BBldH0oq4zYJMRiUhL0iaN9G4e72VmGOJ61L/3W6VN8RIUOwTLoqQ==} + /@next/swc-freebsd-x64/13.2.4: + resolution: {integrity: sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -617,8 +634,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm-gnueabihf/13.2.1: - resolution: {integrity: sha512-WaFoerF/eRbhbE57TaIGJXbQAERADZ/RZ45u6qox9beb5xnWsyYgzX+WuN7Tkhyvga0/aMuVYFzS9CEay7D+bw==} + /@next/swc-linux-arm-gnueabihf/13.2.4: + resolution: {integrity: sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -626,8 +643,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu/13.2.1: - resolution: {integrity: sha512-R+Jhc1/RJTnncE9fkePboHDNOCm1WJ8daanWbjKhfPySMyeniKYRwGn5SLYW3S8YlRS0QVdZaaszDSZWgUcsmA==} + /@next/swc-linux-arm64-gnu/13.2.4: + resolution: {integrity: sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -635,8 +652,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl/13.2.1: - resolution: {integrity: sha512-oI1UfZPidGAVddlL2eOTmfsuKV9EaT1aktIzVIxIAgxzQSdwsV371gU3G55ggkurzfdlgF3GThFePDWF0d8dmw==} + /@next/swc-linux-arm64-musl/13.2.4: + resolution: {integrity: sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -644,8 +661,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu/13.2.1: - resolution: {integrity: sha512-PCygPwrQmS+7WUuAWWioWMZCzZm4PG91lfRxToLDg7yIm/3YfAw5N2EK2TaM9pzlWdvHQAqRMX/oLvv027xUiA==} + /@next/swc-linux-x64-gnu/13.2.4: + resolution: {integrity: sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -653,8 +670,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl/13.2.1: - resolution: {integrity: sha512-sUAKxo7CFZYGHNxheGh9nIBElLYBM6md/liEGfOTwh/xna4/GTTcmkGWkF7PdnvaYNgcPIQgHIMYiAa6yBKAVw==} + /@next/swc-linux-x64-musl/13.2.4: + resolution: {integrity: sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -662,8 +679,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc/13.2.1: - resolution: {integrity: sha512-qDmyEjDBpl/vBXxuOOKKWmPQOcARcZIMach1s7kjzaien0SySut/PHRlj56sosa81Wt4hTGhfhZ1R7g1n7+B8w==} + /@next/swc-win32-arm64-msvc/13.2.4: + resolution: {integrity: sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -671,8 +688,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc/13.2.1: - resolution: {integrity: sha512-2joqFQ81ZYPg6DcikIzQn3DgjKglNhPAozx6dL5sCNkr1CPMD0YIkJgT3CnYyMHQ04Qi3Npv0XX3MD6LJO8OCA==} + /@next/swc-win32-ia32-msvc/13.2.4: + resolution: {integrity: sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -680,8 +697,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc/13.2.1: - resolution: {integrity: sha512-r3+0fSaIZT6N237iMzwUhfNwjhAFvXjqB+4iuW+wcpxW+LHm1g/IoxN8eSRcb8jPItC86JxjAxpke0QL97qd6g==} + /@next/swc-win32-x64-msvc/13.2.4: + resolution: {integrity: sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -712,7 +729,7 @@ packages: engines: {node: '>=14'} deprecated: Please use @opentelemetry/api >= 1.3.0 dependencies: - '@opentelemetry/api': 1.1.0 + '@opentelemetry/api': 1.4.0 dev: false /@opentelemetry/api/1.1.0: @@ -720,6 +737,10 @@ packages: engines: {node: '>=8.0.0'} dev: false + /@opentelemetry/api/1.4.0: + resolution: {integrity: sha512-IgMK9i3sFGNUqPMbjABm0G26g0QCKCUBfglhQ7rQq6WcxbKfEHRcmwsoER4hZcuYqJgkYn2OeuoJIv7Jsftp7g==} + engines: {node: '>=8.0.0'} + /@opentelemetry/context-async-hooks/1.5.0_@opentelemetry+api@1.1.0: resolution: {integrity: sha512-mhBPP0BU0RaH2HB8U4MDd5OjWA1y7SoLOovCT0iEpJAltaq2z04uxRJVzIs91vkpNnV0utUZowQQD3KElgU+VA==} engines: {node: '>=14'} @@ -745,7 +766,7 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.8.11 + '@grpc/grpc-js': 1.8.12 '@grpc/proto-loader': 0.6.13 '@opentelemetry/api': 1.1.0 '@opentelemetry/core': 1.5.0_@opentelemetry+api@1.1.0 @@ -771,7 +792,7 @@ packages: peerDependencies: '@opentelemetry/api': ^1.0.0 dependencies: - '@grpc/grpc-js': 1.8.11 + '@grpc/grpc-js': 1.8.12 '@grpc/proto-loader': 0.6.13 '@opentelemetry/api': 1.1.0 '@opentelemetry/core': 1.5.0_@opentelemetry+api@1.1.0 @@ -1032,8 +1053,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: false - /@types/node/18.14.1: - resolution: {integrity: sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ==} + /@types/node/18.15.0: + resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} dev: false /@types/parse5/6.0.3: @@ -1070,8 +1091,8 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: false - /@vercel/analytics/0.1.10_react@18.2.0: - resolution: {integrity: sha512-jjJ8GzcPnQp0cMxpfYoUycMRBtDiaIeyVjZPiEPe99Dj1PdjMzAFYEASiV/hpNsXHkpcNYCveDFh6jnmh0YSDQ==} + /@vercel/analytics/0.1.11_react@18.2.0: + resolution: {integrity: sha512-mj5CPR02y0BRs1tN3oZcBNAX9a8NxsIUl9vElDPcqxnMfP0RbRc9fI9Ud7+QDg/1Izvt5uMumsr+6YsmVHcyuw==} peerDependencies: react: ^16.8||^17||^18 dependencies: @@ -1157,15 +1178,15 @@ packages: hasBin: true dev: false - /autoprefixer/10.4.13_postcss@8.4.21: - resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + /autoprefixer/10.4.14_postcss@8.4.21: + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.21.5 - caniuse-lite: 1.0.30001457 + caniuse-lite: 1.0.30001464 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1192,8 +1213,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001457 - electron-to-chromium: 1.4.310 + caniuse-lite: 1.0.30001464 + electron-to-chromium: 1.4.328 node-releases: 2.0.10 update-browserslist-db: 1.0.10_browserslist@4.21.5 dev: true @@ -1214,8 +1235,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite/1.0.30001457: - resolution: {integrity: sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==} + /caniuse-lite/1.0.30001464: + resolution: {integrity: sha512-oww27MtUmusatpRpCGSOneQk2/l5czXANDSFvsc7VuOQ86s3ANhZetpwXNf1zY/zdfP63Xvjz325DAdAoES13g==} /ccount/2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1296,17 +1317,17 @@ packages: repeat-string: 1.6.1 dev: false - /contentlayer/0.3.0_ui6uvxfppeck4ve6baobv322ca: + /contentlayer/0.3.0_lbem3ogs7du3nc6v7afeau4mee: resolution: {integrity: sha512-3LEF5HMHjSytlT8SErC3U59Pt2LP80a6Z2f/0mSIPeA4xty0LNChyHqzALySSM0osAEz32RY56Fifk5P+2dCIA==} engines: {node: '>=14.18'} hasBin: true requiresBuild: true dependencies: - '@contentlayer/cli': 0.3.0_ui6uvxfppeck4ve6baobv322ca - '@contentlayer/client': 0.3.0_ui6uvxfppeck4ve6baobv322ca - '@contentlayer/core': 0.3.0_ui6uvxfppeck4ve6baobv322ca - '@contentlayer/source-files': 0.3.0_ui6uvxfppeck4ve6baobv322ca - '@contentlayer/source-remote-files': 0.3.0_ui6uvxfppeck4ve6baobv322ca + '@contentlayer/cli': 0.3.0_lbem3ogs7du3nc6v7afeau4mee + '@contentlayer/client': 0.3.0_lbem3ogs7du3nc6v7afeau4mee + '@contentlayer/core': 0.3.0_lbem3ogs7du3nc6v7afeau4mee + '@contentlayer/source-files': 0.3.0_lbem3ogs7du3nc6v7afeau4mee + '@contentlayer/source-remote-files': 0.3.0_lbem3ogs7du3nc6v7afeau4mee '@contentlayer/utils': 0.3.0 transitivePeerDependencies: - '@effect-ts/otel-node' @@ -1384,42 +1405,42 @@ packages: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} dev: true - /electron-to-chromium/1.4.310: - resolution: {integrity: sha512-/xlATgfwkm5uDDwLw5nt/MNEf7c1oazLURMZLy39vOioGYyYzLWIDT8fZMJak6qTiAJ7udFTy7JG7ziyjNutiA==} + /electron-to-chromium/1.4.328: + resolution: {integrity: sha512-DE9tTy2PNmy1v55AZAO542ui+MLC2cvINMK4P2LXGsJdput/ThVG9t+QGecPuAZZSgC8XoI+Jh9M1OG9IoNSCw==} dev: true /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false - /esbuild/0.17.10: - resolution: {integrity: sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==} + /esbuild/0.17.11: + resolution: {integrity: sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.10 - '@esbuild/android-arm64': 0.17.10 - '@esbuild/android-x64': 0.17.10 - '@esbuild/darwin-arm64': 0.17.10 - '@esbuild/darwin-x64': 0.17.10 - '@esbuild/freebsd-arm64': 0.17.10 - '@esbuild/freebsd-x64': 0.17.10 - '@esbuild/linux-arm': 0.17.10 - '@esbuild/linux-arm64': 0.17.10 - '@esbuild/linux-ia32': 0.17.10 - '@esbuild/linux-loong64': 0.17.10 - '@esbuild/linux-mips64el': 0.17.10 - '@esbuild/linux-ppc64': 0.17.10 - '@esbuild/linux-riscv64': 0.17.10 - '@esbuild/linux-s390x': 0.17.10 - '@esbuild/linux-x64': 0.17.10 - '@esbuild/netbsd-x64': 0.17.10 - '@esbuild/openbsd-x64': 0.17.10 - '@esbuild/sunos-x64': 0.17.10 - '@esbuild/win32-arm64': 0.17.10 - '@esbuild/win32-ia32': 0.17.10 - '@esbuild/win32-x64': 0.17.10 + '@esbuild/android-arm': 0.17.11 + '@esbuild/android-arm64': 0.17.11 + '@esbuild/android-x64': 0.17.11 + '@esbuild/darwin-arm64': 0.17.11 + '@esbuild/darwin-x64': 0.17.11 + '@esbuild/freebsd-arm64': 0.17.11 + '@esbuild/freebsd-x64': 0.17.11 + '@esbuild/linux-arm': 0.17.11 + '@esbuild/linux-arm64': 0.17.11 + '@esbuild/linux-ia32': 0.17.11 + '@esbuild/linux-loong64': 0.17.11 + '@esbuild/linux-mips64el': 0.17.11 + '@esbuild/linux-ppc64': 0.17.11 + '@esbuild/linux-riscv64': 0.17.11 + '@esbuild/linux-s390x': 0.17.11 + '@esbuild/linux-x64': 0.17.11 + '@esbuild/netbsd-x64': 0.17.11 + '@esbuild/openbsd-x64': 0.17.11 + '@esbuild/sunos-x64': 0.17.11 + '@esbuild/win32-arm64': 0.17.11 + '@esbuild/win32-ia32': 0.17.11 + '@esbuild/win32-x64': 0.17.11 dev: false /escalade/3.1.1: @@ -1554,6 +1575,24 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true + /framer-motion/10.8.5_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-qwvUAIwCc6fEZhg7ST+/z+f7Vt882jJvLiWZUHNdq2oZ/Y7gM6mLlpKi9xQg+pLu6DQVypikcKQ+MKnoFoXAJg==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + dependencies: + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + tslib: 2.5.0 + optionalDependencies: + '@emotion/is-prop-valid': 0.8.8 + dev: false + /fsevents/2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1875,8 +1914,8 @@ packages: engines: {node: '>=6'} dev: false - /lilconfig/2.0.6: - resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} + /lilconfig/2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} dev: true @@ -1927,8 +1966,8 @@ packages: yallist: 4.0.0 dev: false - /lucide-react/0.115.0_react@18.2.0: - resolution: {integrity: sha512-VGL7jBKN6pEXi6peXoyn9t9O7olvinaAonnoe+iFi/F2q7/yQzAFM5KR1OY15u9PlrB3scI9HvcTFoOrIjUaVQ==} + /lucide-react/0.125.0_react@18.2.0: + resolution: {integrity: sha512-tadphtB6TPytEitR9vX75hqu9PQT/uz5RcvXMq976nC190eukAM9+cHMgBxfvfEGDXwIhIT9aFxTUGdAjxw9uQ==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 dependencies: @@ -2142,17 +2181,17 @@ packages: '@types/mdast': 3.0.10 dev: false - /mdx-bundler/9.2.1_esbuild@0.17.10: + /mdx-bundler/9.2.1_esbuild@0.17.11: resolution: {integrity: sha512-hWEEip1KU9MCNqeH2rqwzAZ1pdqPPbfkx9OTJjADqGPQz4t9BO85fhI7AP9gVYrpmfArf9/xJZUN0yBErg/G/Q==} engines: {node: '>=14', npm: '>=6'} peerDependencies: esbuild: 0.* dependencies: '@babel/runtime': 7.21.0 - '@esbuild-plugins/node-resolve': 0.1.4_esbuild@0.17.10 + '@esbuild-plugins/node-resolve': 0.1.4_esbuild@0.17.11 '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@mdx-js/esbuild': 2.3.0_esbuild@0.17.10 - esbuild: 0.17.10 + '@mdx-js/esbuild': 2.3.0_esbuild@0.17.11 + esbuild: 0.17.11 gray-matter: 4.0.3 remark-frontmatter: 4.0.1 remark-mdx-frontmatter: 1.1.1 @@ -2532,16 +2571,16 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /next-contentlayer/0.3.0_scjb6dpb3mjs6ovmhgft7llkle: + /next-contentlayer/0.3.0_2txxxasfjc2y3wz4b3hzs7n7gm: resolution: {integrity: sha512-vt+RaD3nIgZ6oXadtZH19a1mpxvGEoiifdtmXqBSz4rHMRcMA1YZCuSWyj+P9uX7MDmIL6JT6QSp+hvTBMaxiw==} peerDependencies: next: ^12 || ^13 react: '*' react-dom: '*' dependencies: - '@contentlayer/core': 0.3.0_ui6uvxfppeck4ve6baobv322ca + '@contentlayer/core': 0.3.0_lbem3ogs7du3nc6v7afeau4mee '@contentlayer/utils': 0.3.0 - next: 13.2.1_rfdx5ocjtvb4b2h5j5ipjicct4 + next: 13.2.4_iiqxgyfhgb2flqmfjn2la6rgku react: 18.2.0 react-dom: 18.2.0_react@18.2.0 transitivePeerDependencies: @@ -2551,8 +2590,8 @@ packages: - supports-color dev: false - /next/13.2.1_rfdx5ocjtvb4b2h5j5ipjicct4: - resolution: {integrity: sha512-qhgJlDtG0xidNViJUPeQHLGJJoT4zDj/El7fP3D3OzpxJDUfxsm16cK4WTMyvSX1ciIfAq05u+0HqFAa+VJ+Hg==} + /next/13.2.4_iiqxgyfhgb2flqmfjn2la6rgku: + resolution: {integrity: sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==} engines: {node: '>=14.6.0'} hasBin: true peerDependencies: @@ -2572,28 +2611,28 @@ packages: sass: optional: true dependencies: - '@next/env': 13.2.1 - '@opentelemetry/api': 1.1.0 + '@next/env': 13.2.4 + '@opentelemetry/api': 1.4.0 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001457 + caniuse-lite: 1.0.30001464 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 styled-jsx: 5.1.1_react@18.2.0 optionalDependencies: - '@next/swc-android-arm-eabi': 13.2.1 - '@next/swc-android-arm64': 13.2.1 - '@next/swc-darwin-arm64': 13.2.1 - '@next/swc-darwin-x64': 13.2.1 - '@next/swc-freebsd-x64': 13.2.1 - '@next/swc-linux-arm-gnueabihf': 13.2.1 - '@next/swc-linux-arm64-gnu': 13.2.1 - '@next/swc-linux-arm64-musl': 13.2.1 - '@next/swc-linux-x64-gnu': 13.2.1 - '@next/swc-linux-x64-musl': 13.2.1 - '@next/swc-win32-arm64-msvc': 13.2.1 - '@next/swc-win32-ia32-msvc': 13.2.1 - '@next/swc-win32-x64-msvc': 13.2.1 + '@next/swc-android-arm-eabi': 13.2.4 + '@next/swc-android-arm64': 13.2.4 + '@next/swc-darwin-arm64': 13.2.4 + '@next/swc-darwin-x64': 13.2.4 + '@next/swc-freebsd-x64': 13.2.4 + '@next/swc-linux-arm-gnueabihf': 13.2.4 + '@next/swc-linux-arm64-gnu': 13.2.4 + '@next/swc-linux-arm64-musl': 13.2.4 + '@next/swc-linux-x64-gnu': 13.2.4 + '@next/swc-linux-x64-musl': 13.2.4 + '@next/swc-win32-arm64-msvc': 13.2.4 + '@next/swc-win32-ia32-msvc': 13.2.4 + '@next/swc-win32-x64-msvc': 13.2.4 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -2638,8 +2677,8 @@ packages: engines: {node: '>= 6'} dev: true - /oo-ascii-tree/1.76.0: - resolution: {integrity: sha512-I/me4GK6Dybc9lsPYZJdnd1OOFbbnZtfEIIizrbTuFx/v1if375Y59w9ol/TJ75MlSAKs4aHj7Xm+A4E0JitSw==} + /oo-ascii-tree/1.77.0: + resolution: {integrity: sha512-UQXPEVtecK9FDQxlp5WQ9nVBgS0sq96R9LWE1HBmlS3ZLJRqXh3+kdU7Bxs+qqF+cdWmE9uOggwihBffTpqLrA==} engines: {node: '>= 14.6.0'} dev: false @@ -2728,7 +2767,7 @@ packages: ts-node: optional: true dependencies: - lilconfig: 2.0.6 + lilconfig: 2.1.0 postcss: 8.4.21 yaml: 1.10.2 dev: true @@ -2812,7 +2851,7 @@ packages: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 18.14.1 + '@types/node': 18.15.0 long: 4.0.0 dev: false @@ -2831,7 +2870,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 18.14.1 + '@types/node': 18.15.0 long: 5.2.1 dev: false @@ -3171,7 +3210,7 @@ packages: fast-glob: 3.2.12 glob-parent: 6.0.2 is-glob: 4.0.3 - lilconfig: 2.0.6 + lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 object-hash: 3.0.0 @@ -3413,8 +3452,8 @@ packages: yargs-parser: 20.2.9 dev: false - /zod/3.20.6: - resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} + /zod/3.21.4: + resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: false /zwitch/2.0.4: diff --git a/static/media/metadata/favicon.603d046c.ico b/static/media/metadata/favicon.603d046c.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 zcmeHv30#a{`}aL_*G&7qml|y<+KVaDM2m#dVr!KsA!#An?kSQM(q<_dDNCpjEux83 zLb9Z^XxbDl(w>%i@8hT6>)&Gu{h#Oeyszu?xtw#Zb1mO{pgX9699l+Qppw7jXaYf~-84xW z)w4x8?=youko|}Vr~(D$UXIbiXABHh`p1?nn8Po~fxRJv}|0e(BPs|G`(TT%kKVJAdg5*Z|x0leQq0 zkdUBvb#>9F()jo|T~kx@OM8$9wzs~t2l;K=woNssA3l6|sx2r3+kdfVW@e^8e*E}v zA1y5{bRi+3Z`uD3{F7LgFJDdvm;nJilkzDku>BwXH(8ItVCXk*-lSJnR?-2UN%hJ){&rlvg`CDTj z)Bzo!3v7Ou#83zEDEFcKt(f1E0~=rqeEbTnMvWR#{+9pg%7G8y>u1OVRUSoox-ovF z2Ydma(;=YuBY(eI|04{hXzZD6_f(v~H;C~y5=DhAC{MMS>2fm~1H_t2$56pc$NH8( z5bH|<)71dV-_oCHIrzrT`2s-5w_+2CM0$95I6X8p^r!gHp+j_gd;9O<1~CEQQGS8) zS9Qh3#p&JM-G8rHekNmKVewU;pJRcTAog68KYo^dRo}(M>36U4Us zfgYWSiHZL3;lpWT=zNAW>Dh#mB!_@Lg%$ms8N-;aPqMn+C2HqZgz&9~Eu z4|Kp<`$q)Uw1R?y(~S>ePdonHxpV1#eSP1B;Ogo+-Pk}6#0GsZZ5!||ev2MGdh}_m z{DeR7?0-1^zVs&`AV6Vt;r3`I`OI_wgs*w=eO%_#7Kepl{B@xiyCANc(l zzIyd4y|c6PXWq9-|KM8(zIk8LPk(>a)zyFWjhT!$HJ$qX1vo@d25W<fvZQ2zUz5WRc(UnFMKHwe1| zWmlB1qdbiA(C0jmnV<}GfbKtmcu^2*P^O?MBLZKt|As~ge8&AAO~2K@zbXelK|4T<{|y4`raF{=72kC2Kn(L4YyenWgrPiv z@^mr$t{#X5VuIMeL!7Ab6_kG$&#&5p*Z{+?5U|TZ`B!7llpVmp@skYz&n^8QfPJzL z0G6K_OJM9x+Wu2gfN45phANGt{7=C>i34CV{Xqlx(fWpeAoj^N0Biu`w+MVcCUyU* zDZuzO0>4Z6fbu^T_arWW5n!E45vX8N=bxTVeFoep_G#VmNlQzAI_KTIc{6>c+04vr zx@W}zE5JNSU>!THJ{J=cqjz+4{L4A{Ob9$ZJ*S1?Ggg3klFp!+Y1@K+pK1DqI|_gq z5ZDXVpge8-cs!o|;K73#YXZ3AShj50wBvuq3NTOZ`M&qtjj#GOFfgExjg8Gn8>Vq5 z`85n+9|!iLCZF5$HJ$Iu($dm?8~-ofu}tEc+-pyke=3!im#6pk_Wo8IA|fJwD&~~F zc16osQ)EBo58U7XDuMexaPRjU@h8tXe%S{fA0NH3vGJFhuyyO!Uyl2^&EOpX{9As0 zWj+P>{@}jxH)8|r;2HdupP!vie{sJ28b&bo!8`D^x}TE$%zXNb^X1p@0PJ86`dZyj z%ce7*{^oo+6%&~I!8hQy-vQ7E)0t0ybH4l%KltWOo~8cO`T=157JqL(oq_rC%ea&4 z2NcTJe-HgFjNg-gZ$6!Y`SMHrlj}Etf7?r!zQTPPSv}{so2e>Fjs1{gzk~LGeesX%r(Lh6rbhSo_n)@@G-FTQy93;l#E)hgP@d_SGvyCp0~o(Y;Ee8{ zdVUDbHm5`2taPUOY^MAGOw*>=s7=Gst=D+p+2yON!0%Hk` zz5mAhyT4lS*T3LS^WSxUy86q&GnoHxzQ6vm8)VS}_zuqG?+3td68_x;etQAdu@sc6 zQJ&5|4(I?~3d-QOAODHpZ=hlSg(lBZ!JZWCtHHSj`0Wh93-Uk)_S%zsJ~aD>{`A0~ z9{AG(e|q3g5B%wYKRxiL2Y$8(4w6bzchKuloQW#e&S3n+P- z8!ds-%f;TJ1>)v)##>gd{PdS2Oc3VaR`fr=`O8QIO(6(N!A?pr5C#6fc~Ge@N%Vvu zaoAX2&(a6eWy_q&UwOhU)|P3J0Qc%OdhzW=F4D|pt0E4osw;%<%Dn58hAWD^XnZD= z>9~H(3bmLtxpF?a7su6J7M*x1By7YSUbxGi)Ot0P77`}P3{)&5Un{KD?`-e?r21!4vTTnN(4Y6Lin?UkSM z`MXCTC1@4A4~mvz%Rh2&EwY))LeoT=*`tMoqcEXI>TZU9WTP#l?uFv+@Dn~b(>xh2 z;>B?;Tz2SR&KVb>vGiBSB`@U7VIWFSo=LDSb9F{GF^DbmWAfpms8Sx9OX4CnBJca3 zlj9(x!dIjN?OG1X4l*imJNvRCk}F%!?SOfiOq5y^mZW)jFL@a|r-@d#f7 z2gmU8L3IZq0ynIws=}~m^#@&C%J6QFo~Mo4V`>v7MI-_!EBMMtb%_M&kvAaN)@ZVw z+`toz&WG#HkWDjnZE!6nk{e-oFdL^$YnbOCN}JC&{$#$O27@|Tn-skXr)2ml2~O!5 zX+gYoxhoc7qoU?C^3~&!U?kRFtnSEecWuH0B0OvLodgUAi}8p1 zrO6RSXHH}DMc$&|?D004DiOVMHV8kXCP@7NKB zgaZq^^O<7PoKEp72kby@W0Z!Y*Ay{&vfg#C&gG@YVR9g?FEocMUi1gSN$+V+ayF45{a zuDZDTN}mS|;BO%gEf}pjBfN2-gIrU#G5~cucA;dokXW89%>AyXJJI z9X4UlIWA|ZYHgbI z5?oFk@A=Ik7lrEQPDH!H+b`7_Y~aDb_qa=B2^Y&Ow41cU=4WDd40dp5(QS-WMN-=Y z9g;6_-JdNU;|6cPwf$ak*aJIcwL@1n$#l~zi{c{EW?T;DaW*E8DYq?Umtz{nJ&w-M zEMyTDrC&9K$d|kZe2#ws6)L=7K+{ zQw{XnV6UC$6-rW0emqm8wJoeZK)wJIcV?dST}Z;G0Arq{dVDu0&4kd%N!3F1*;*pW zR&qUiFzK=@44#QGw7k1`3t_d8&*kBV->O##t|tonFc2YWrL7_eqg+=+k;!F-`^b8> z#KWCE8%u4k@EprxqiV$VmmtiWxDLgnGu$Vs<8rppV5EajBXL4nyyZM$SWVm!wnCj-B!Wjqj5-5dNXukI2$$|Bu3Lrw}z65Lc=1G z^-#WuQOj$hwNGG?*CM_TO8Bg-1+qc>J7k5c51U8g?ZU5n?HYor;~JIjoWH-G>AoUP ztrWWLbRNqIjW#RT*WqZgPJXU7C)VaW5}MiijYbABmzoru6EmQ*N8cVK7a3|aOB#O& zBl8JY2WKfmj;h#Q!pN%9o@VNLv{OUL?rixHwOZuvX7{IJ{(EdPpuVFoQqIOa7giLVkBOKL@^smUA!tZ1CKRK}#SSM)iQHk)*R~?M!qkCruaS!#oIL1c z?J;U~&FfH#*98^G?i}pA{ z9Jg36t4=%6mhY(quYq*vSxptes9qy|7xSlH?G=S@>u>Ebe;|LVhs~@+06N<4CViBk zUiY$thvX;>Tby6z9Y1edAMQaiH zm^r3v#$Q#2T=X>bsY#D%s!bhs^M9PMAcHbCc0FMHV{u-dwlL;a1eJ63v5U*?Q_8JO zT#50!RD619#j_Uf))0ooADz~*9&lN!bBDRUgE>Vud-i5ck%vT=r^yD*^?Mp@Q^v+V zG#-?gKlr}Eeqifb{|So?HM&g91P8|av8hQoCmQXkd?7wIJwb z_^v8bbg`SAn{I*4bH$u(RZ6*xUhuA~hc=8czK8SHEKTzSxgbwi~9(OqJB&gwb^l4+m`k*Q;_?>Y-APi1{k zAHQ)P)G)f|AyjSgcCFps)Fh6Bca*Xznq36!pV6Az&m{O8$wGFD? zY&O*3*J0;_EqM#jh6^gMQKpXV?#1?>$ml1xvh8nSN>-?H=V;nJIwB07YX$e6vLxH( zqYwQ>qxwR(i4f)DLd)-$P>T-no_c!LsN@)8`e;W@)-Hj0>nJ-}Kla4-ZdPJzI&Mce zv)V_j;(3ERN3_@I$N<^|4Lf`B;8n+bX@bHbcZTopEmDI*Jfl)-pFDvo6svPRoo@(x z);_{lY<;);XzT`dBFpRmGrr}z5u1=pC^S-{ce6iXQlLGcItwJ^mZx{m$&DA_oEZ)B{_bYPq-HA zcH8WGoBG(aBU_j)vEy+_71T34@4dmSg!|M8Vf92Zj6WH7Q7t#OHQqWgFE3ARt+%!T z?oLovLVlnf?2c7pTc)~cc^($_8nyKwsN`RA-23ed3sdj(ys%pjjM+9JrctL;dy8a( z@en&CQmnV(()bu|Y%G1-4a(6x{aLytn$T-;(&{QIJB9vMox11U-1HpD@d(QkaJdEb zG{)+6Dos_L+O3NpWo^=gR?evp|CqEG?L&Ut#D*KLaRFOgOEK(Kq1@!EGcTfo+%A&I z=dLbB+d$u{sh?u)xP{PF8L%;YPPW53+@{>5W=Jt#wQpN;0_HYdw1{ksf_XhO4#2F= zyPx6Lx2<92L-;L5PD`zn6zwIH`Jk($?Qw({erA$^bC;q33hv!d!>%wRhj# zal^hk+WGNg;rJtb-EB(?czvOM=H7dl=vblBwAv>}%1@{}mnpUznfq1cE^sgsL0*4I zJ##!*B?=vI_OEVis5o+_IwMIRrpQyT_Sq~ZU%oY7c5JMIADzpD!Upz9h@iWg_>>~j zOLS;wp^i$-E?4<_cp?RiS%Rd?i;f*mOz=~(&3lo<=@(nR!_Rqiprh@weZlL!t#NCc zO!QTcInq|%#>OVgobj{~ixEUec`E25zJ~*DofsQdzIa@5^nOXj2T;8O`l--(QyU^$t?TGY^7#&FQ+2SS3B#qK*k3`ye?8jUYSajE5iBbJls75CCc(m3dk{t?- zopcER9{Z?TC)mk~gpi^kbbu>b-+a{m#8-y2^p$ka4n60w;Sc2}HMf<8JUvhCL0B&Btk)T`ctE$*qNW8L$`7!r^9T+>=<=2qaq-;ll2{`{Rg zc5a0ZUI$oG&j-qVOuKa=*v4aY#IsoM+1|c4Z)<}lEDvy;5huB@1RJPquU2U*U-;gu z=En2m+qjBzR#DEJDO`WU)hdd{Vj%^0V*KoyZ|5lzV87&g_j~NCjwv0uQVqXOb*QrQ zy|Qn`hxx(58c70$E;L(X0uZZ72M1!6oeg)(cdKO ze0gDaTz+ohR-#d)NbAH4x{I(21yjwvBQfmpLu$)|m{XolbgF!pmsqJ#D}(ylp6uC> z{bqtcI#hT#HW=wl7>p!38sKsJ`r8}lt-q%Keqy%u(xk=yiIJiUw6|5IvkS+#?JTBl z8H5(Q?l#wzazujH!8o>1xtn8#_w+397*_cy8!pQGP%K(Ga3pAjsaTbbXJlQF_+m+-UpUUent@xM zg%jqLUExj~o^vQ3Gl*>wh=_gOr2*|U64_iXb+-111aH}$TjeajM+I20xw(((>fej-@CIz4S1pi$(#}P7`4({6QS2CaQS4NPENDp>sAqD z$bH4KGzXGffkJ7R>V>)>tC)uax{UsN*dbeNC*v}#8Y#OWYwL4t$ePR?VTyIs!wea+ z5Urmc)X|^`MG~*dS6pGSbU+gPJoq*^a=_>$n4|P^w$sMBBy@f*Z^Jg6?n5?oId6f{ z$LW4M|4m502z0t7g<#Bx%X;9<=)smFolV&(V^(7Cv2-sxbxopQ!)*#ZRhTBpx1)Fc zNm1T%bONzv6@#|dz(w02AH8OXe>kQ#1FMCzO}2J_mST)+ExmBr9cva-@?;wnmWMOk z{3_~EX_xadgJGv&H@zK_8{(x84`}+c?oSBX*Ge3VdfTt&F}yCpFP?CpW+BE^cWY0^ zb&uBN!Ja3UzYHK-CTyA5=L zEMW{l3Usky#ly=7px648W31UNV@K)&Ub&zP1c7%)`{);I4b0Q<)B}3;NMG2JH=X$U zfIW4)4n9ZM`-yRj67I)YSLDK)qfUJ_ij}a#aZN~9EXrh8eZY2&=uY%2N0UFF7<~%M zsB8=erOWZ>Ct_#^tHZ|*q`H;A)5;ycw*IcmVxi8_0Xk}aJA^ath+E;xg!x+As(M#0=)3!NJR6H&9+zd#iP(m0PIW8$ z1Y^VX`>jm`W!=WpF*{ioM?C9`yOR>@0q=u7o>BP-eSHqCgMDj!2anwH?s%i2p+Q7D zzszIf5XJpE)IG4;d_(La-xenmF(tgAxK`Y4sQ}BSJEPs6N_U2vI{8=0C_F?@7<(G; zo$~G=8p+076G;`}>{MQ>t>7cm=zGtfbdDXm6||jUU|?X?CaE?(<6bKDYKeHlz}DA8 zXT={X=yp_R;HfJ9h%?eWvQ!dRgz&Su*JfNt!Wu>|XfU&68iRikRrHRW|ZxzRR^`eIGt zIeiDgVS>IeExKVRWW8-=A=yA`}`)ZkWBrZD`hpWIxBGkh&f#ijr449~m`j6{4jiJ*C!oVA8ZC?$1RM#K(_b zL9TW)kN*Y4%^-qPpMP7d4)o?Nk#>aoYHT(*g)qmRUb?**F@pnNiy6Fv9rEiUqD(^O zzyS?nBrX63BTRYduaG(0VVG2yJRe%o&rVrLjbxTaAFTd8s;<<@Qs>u(<193R8>}2_ zuwp{7;H2a*X7_jryzriZXMg?bTuegABb^87@SsKkr2)0Gyiax8KQWstw^v#ix45EVrcEhr>!NMhprl$InQMzjSFH54x5k9qHc`@9uKQzvL4ihcq{^B zPrVR=o_ic%Y>6&rMN)hTZsI7I<3&`#(nl+3y3ys9A~&^=4?PL&nd8)`OfG#n zwAMN$1&>K++c{^|7<4P=2y(B{jJsQ0a#U;HTo4ZmWZYvI{+s;Td{Yzem%0*k#)vjpB zia;J&>}ICate44SFYY3vEelqStQWFihx%^vQ@Do(sOy7yR2@WNv7Y9I^yL=nZr3mb zXKV5t@=?-Sk|b{XMhA7ZGB@2hqsx}4xwCW!in#C zI@}scZlr3-NFJ@NFaJlhyfcw{k^vvtGl`N9xSo**rDW4S}i zM9{fMPWo%4wYDG~BZ18BD+}h|GQKc-g^{++3MY>}W_uq7jGHx{mwE9fZiPCoxN$+7 zrODGGJrOkcPQUB(FD5aoS4g~7#6NR^ma7-!>mHuJfY5kTe6PpNNKC9GGRiu^L31uG z$7v`*JknQHsYB!Tm_W{a32TM099djW%5e+j0Ve_ct}IM>XLF1Ap+YvcrLV=|CKo6S zb+9Nl3_YdKP6%Cxy@6TxZ>;4&nTneadr z_ES90ydCev)LV!dN=#(*f}|ZORFdvkYBni^aLbUk>BajeWIOcmHP#8S)*2U~QKI%S zyrLmtPqb&TphJ;>yAxri#;{uyk`JJqODDw%(Z=2`1uc}br^V%>j!gS)D*q*f_-qf8&D;W1dJgQMlaH5er zN2U<%Smb7==vE}dDI8K7cKz!vs^73o9f>2sgiTzWcwY|BMYHH5%Vn7#kiw&eItCqa zIkR2~Q}>X=Ar8W|^Ms41Fm8o6IB2_j60eOeBB1Br!boW7JnoeX6Gs)?7rW0^5psc- zjS16yb>dFn>KPOF;imD}e!enuIniFzv}n$m2#gCCv4jM#ArwlzZ$7@9&XkFxZ4n!V zj3dyiwW4Ki2QG{@i>yuZXQizw_OkZI^-3otXC{!(lUpJF33gI60ak;Uqitp74|B6I zgg{b=Iz}WkhCGj1M=hu4#Aw173YxIVbISaoc z-nLZC*6Tgivd5V`K%GxhBsp@SUU60-rfc$=wb>zdJzXS&-5(NRRodFk;Kxk!S(O(a0e7oY=E( zAyS;Ow?6Q&XA+cnkCb{28_1N8H#?J!*$MmIwLq^*T_9-z^&UE@A(z9oGYtFy6EZef LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/tailwind.config.js b/tailwind.config.js index dd2bf5e..d014984 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -10,7 +10,10 @@ module.exports = { sans: ["var(--font-inter)", ...defaultTheme.fontFamily.sans], display: ["var(--font-grotesk)"], }, - + backgroundImage: { + "gradient-radial": + "radial-gradient(50% 50% at 50% 50%, var(--tw-gradient-stops))", + }, animation: { "fade-in": "fade-in 3s ease-in-out forwards", title: "title 3s ease-out forwards",