From d13531c2224f9fb52a37b2a26f003c1d2c1b916d Mon Sep 17 00:00:00 2001 From: Andreas Thomas Date: Sun, 26 Mar 2023 12:29:53 +0200 Subject: [PATCH] redesign --- ...compiled-contentlayer-config-AAEZAM7W.mjs} | 5 +- ...piled-contentlayer-config-AAEZAM7W.mjs.map | 7 + ...piled-contentlayer-config-KFUTZ636.mjs.map | 7 - .../compiled-contentlayer-config-RHAHPX7F.mjs | 97 ++++ ...piled-contentlayer-config-RHAHPX7F.mjs.map | 7 + .../.cache/v0.3.0/data-AAEZAM7W.json | 417 ++++++++++++++++++ .../.cache/v0.3.0/data-RHAHPX7F.json | 417 ++++++++++++++++++ .contentlayer/generated/Project/_index.json | 66 ++- .contentlayer/generated/Project/_index.mjs | 4 + .../Project/projects__access.mdx.json | 3 +- .../Project/projects__envshare.mdx.json | 3 +- .../Project/projects__planetfall.mdx.json | 7 +- .../Project/projects__qstash.mdx.json | 3 +- ...ojects__terraform-provider-vercel.mdx.json | 3 +- .../projects__upstash-auth-analytics.mdx.json | 2 +- .../Project/projects__upstash-cli.mdx.json | 3 +- .../projects__upstash-core-analytics.mdx.json | 3 +- .../projects__upstash-edge-flags.mdx.json | 3 +- .../Project/projects__upstash-kafka.mdx.json | 3 +- .../projects__upstash-qstash-sdk.mdx.json | 3 +- .../projects__upstash-ratelimit.mdx.json | 3 +- .../projects__upstash-react-ui.mdx.json | 3 +- .../Project/projects__upstash-redis.mdx.json | 3 +- .../projects__upstash-web-analytics.mdx.json | 21 + .contentlayer/generated/types.d.ts | 1 + .contentlayer/package.json | 2 +- .env | 2 + app/components/article-nav.tsx | 107 ----- app/components/card.tsx | 43 ++ app/components/mdx.tsx | 2 +- app/contact/page.tsx | 55 +-- app/layout.tsx | 77 ++-- app/page.tsx | 7 +- app/projects/[slug]/header.tsx | 113 +++++ app/projects/[slug]/page.tsx | 30 +- app/projects/article.tsx | 27 ++ app/projects/card.tsx | 74 ---- app/projects/page.tsx | 87 ++-- content/projects/access.mdx | 1 + content/projects/envshare.mdx | 2 +- content/projects/planetfall.mdx | 6 +- content/projects/qstash.mdx | 1 + .../projects/terraform-provider-vercel.mdx | 1 + content/projects/upstash-auth-analytics.mdx | 1 - content/projects/upstash-cli.mdx | 1 + content/projects/upstash-core-analytics.mdx | 1 + content/projects/upstash-edge-flags.mdx | 1 + content/projects/upstash-kafka.mdx | 1 + content/projects/upstash-qstash-sdk.mdx | 1 + content/projects/upstash-ratelimit-analytics | 1 + content/projects/upstash-ratelimit.mdx | 1 + content/projects/upstash-react-ui.mdx | 1 + content/projects/upstash-redis.mdx | 1 + ...eb-analytics => upstash-web-analytics.mdx} | 2 +- contentlayer.config.js | 3 + middleware.ts | 41 ++ package.json | 10 +- pnpm-lock.yaml | 310 +++++++------ public/favicon.png | Bin 0 -> 759 bytes public/next.svg | 1 - public/og.png | Bin 0 -> 348962 bytes public/thirteen.svg | 1 - public/vercel.svg | 1 - 63 files changed, 1625 insertions(+), 485 deletions(-) rename .contentlayer/.cache/v0.3.0/{compiled-contentlayer-config-KFUTZ636.mjs => compiled-contentlayer-config-AAEZAM7W.mjs} (94%) create mode 100644 .contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs.map delete mode 100644 .contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs.map create mode 100644 .contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs create mode 100644 .contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs.map create mode 100644 .contentlayer/.cache/v0.3.0/data-AAEZAM7W.json create mode 100644 .contentlayer/.cache/v0.3.0/data-RHAHPX7F.json create mode 100644 .contentlayer/generated/Project/projects__upstash-web-analytics.mdx.json create mode 100644 .env delete mode 100644 app/components/article-nav.tsx create mode 100644 app/components/card.tsx create mode 100644 app/projects/[slug]/header.tsx create mode 100644 app/projects/article.tsx delete mode 100644 app/projects/card.tsx rename content/projects/{upstash-web-analytics => upstash-web-analytics.mdx} (90%) create mode 100644 middleware.ts create mode 100644 public/favicon.png delete mode 100644 public/next.svg create mode 100644 public/og.png delete mode 100644 public/thirteen.svg delete mode 100644 public/vercel.svg diff --git a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs similarity index 94% rename from .contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs rename to .contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs index 79e3504..12aed14 100644 --- a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs +++ b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs @@ -19,6 +19,9 @@ var Project = defineDocumentType(() => ({ filePathPattern: "./projects/**/*.mdx", contentType: "mdx", fields: { + published: { + type: "boolean", + }, title: { type: "string", required: true, @@ -91,4 +94,4 @@ var contentlayer_config_default = makeSource({ }, }); export { Page, Project, contentlayer_config_default as default }; -//# sourceMappingURL=compiled-contentlayer-config-KFUTZ636.mjs.map +//# sourceMappingURL=compiled-contentlayer-config-AAEZAM7W.mjs.map diff --git a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs.map b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs.map new file mode 100644 index 0000000..511eba5 --- /dev/null +++ b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-AAEZAM7W.mjs.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../contentlayer.config.js"], + "sourcesContent": ["import { defineDocumentType, makeSource } from \"contentlayer/source-files\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypePrettyCode from \"rehype-pretty-code\";\nimport rehypeSlug from \"rehype-slug\";\nimport rehypeAutolinkHeadings from \"rehype-autolink-headings\";\n\n/** @type {import('contentlayer/source-files').ComputedFields} */\nconst computedFields = {\n\tpath: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => `/${doc._raw.flattenedPath}`,\n\t},\n\tslug: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => doc._raw.flattenedPath.split(\"/\").slice(1).join(\"/\"),\n\t},\n};\n\nexport const Project = defineDocumentType(() => ({\n\tname: \"Project\",\n\tfilePathPattern: \"./projects/**/*.mdx\",\n\tcontentType: \"mdx\",\n\n\tfields: {\n\t\tpublished: {\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdate: {\n\t\t\ttype: \"date\",\n\t\t},\n\t\turl: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\trepository: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport const Page = defineDocumentType(() => ({\n\tname: \"Page\",\n\tfilePathPattern: \"pages/**/*.mdx\",\n\tcontentType: \"mdx\",\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport default makeSource({\n\tcontentDirPath: \"./content\",\n\tdocumentTypes: [Page, Project],\n\tmdx: {\n\t\tremarkPlugins: [remarkGfm],\n\t\trehypePlugins: [\n\t\t\trehypeSlug,\n\t\t\t[\n\t\t\t\trehypePrettyCode,\n\t\t\t\t{\n\t\t\t\t\ttheme: \"github-dark\",\n\t\t\t\t\tonVisitLine(node) {\n\t\t\t\t\t\t// Prevent lines from collapsing in `display: grid` mode, and allow empty\n\t\t\t\t\t\t// lines to be copy/pasted\n\t\t\t\t\t\tif (node.children.length === 0) {\n\t\t\t\t\t\t\tnode.children = [{ type: \"text\", value: \" \" }];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedLine(node) {\n\t\t\t\t\t\tnode.properties.className.push(\"line--highlighted\");\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedWord(node) {\n\t\t\t\t\t\tnode.properties.className = [\"word--highlighted\"];\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\trehypeAutolinkHeadings,\n\t\t\t\t{\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tclassName: [\"subheading-anchor\"],\n\t\t\t\t\t\tariaLabel: \"Link to section\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t},\n});\n"], + "mappings": ";AAAA,SAAS,oBAAoB,kBAAkB;AAC/C,OAAO,eAAe;AACtB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AAGnC,IAAM,iBAAiB;AAAA,EACtB,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,KAAK,cAAc,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EACtE;AACD;AAEO,IAAM,UAAU,mBAAmB,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EAEb,QAAQ;AAAA,IACP,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEK,IAAM,OAAO,mBAAmB,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEF,IAAO,8BAAQ,WAAW;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe,CAAC,MAAM,OAAO;AAAA,EAC7B,KAAK;AAAA,IACJ,eAAe,CAAC,SAAS;AAAA,IACzB,eAAe;AAAA,MACd;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,YAAY,MAAM;AAGjB,gBAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,mBAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,UAAU,KAAK,mBAAmB;AAAA,UACnD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,YAAY,CAAC,mBAAmB;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,YAAY;AAAA,YACX,WAAW,CAAC,mBAAmB;AAAA,YAC/B,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;", + "names": [] +} diff --git a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs.map b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs.map deleted file mode 100644 index e22368e..0000000 --- a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-KFUTZ636.mjs.map +++ /dev/null @@ -1,7 +0,0 @@ -{ - "version": 3, - "sources": ["../../../contentlayer.config.js"], - "sourcesContent": ["import { defineDocumentType, makeSource } from \"contentlayer/source-files\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypePrettyCode from \"rehype-pretty-code\";\nimport rehypeSlug from \"rehype-slug\";\nimport rehypeAutolinkHeadings from \"rehype-autolink-headings\";\n\n/** @type {import('contentlayer/source-files').ComputedFields} */\nconst computedFields = {\n\tpath: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => `/${doc._raw.flattenedPath}`,\n\t},\n\tslug: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => doc._raw.flattenedPath.split(\"/\").slice(1).join(\"/\"),\n\t},\n};\n\nexport const Project = defineDocumentType(() => ({\n\tname: \"Project\",\n\tfilePathPattern: \"./projects/**/*.mdx\",\n\tcontentType: \"mdx\",\n\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdate: {\n\t\t\ttype: \"date\",\n\t\t},\n\t\turl: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\trepository: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport const Page = defineDocumentType(() => ({\n\tname: \"Page\",\n\tfilePathPattern: \"pages/**/*.mdx\",\n\tcontentType: \"mdx\",\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport default makeSource({\n\tcontentDirPath: \"./content\",\n\tdocumentTypes: [Page, Project],\n\tmdx: {\n\t\tremarkPlugins: [remarkGfm],\n\t\trehypePlugins: [\n\t\t\trehypeSlug,\n\t\t\t[\n\t\t\t\trehypePrettyCode,\n\t\t\t\t{\n\t\t\t\t\ttheme: \"github-dark\",\n\t\t\t\t\tonVisitLine(node) {\n\t\t\t\t\t\t// Prevent lines from collapsing in `display: grid` mode, and allow empty\n\t\t\t\t\t\t// lines to be copy/pasted\n\t\t\t\t\t\tif (node.children.length === 0) {\n\t\t\t\t\t\t\tnode.children = [{ type: \"text\", value: \" \" }];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedLine(node) {\n\t\t\t\t\t\tnode.properties.className.push(\"line--highlighted\");\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedWord(node) {\n\t\t\t\t\t\tnode.properties.className = [\"word--highlighted\"];\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\trehypeAutolinkHeadings,\n\t\t\t\t{\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tclassName: [\"subheading-anchor\"],\n\t\t\t\t\t\tariaLabel: \"Link to section\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t},\n});\n"], - "mappings": ";AAAA,SAAS,oBAAoB,kBAAkB;AAC/C,OAAO,eAAe;AACtB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AAGnC,IAAM,iBAAiB;AAAA,EACtB,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,KAAK,cAAc,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EACtE;AACD;AAEO,IAAM,UAAU,mBAAmB,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EAEb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEK,IAAM,OAAO,mBAAmB,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEF,IAAO,8BAAQ,WAAW;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe,CAAC,MAAM,OAAO;AAAA,EAC7B,KAAK;AAAA,IACJ,eAAe,CAAC,SAAS;AAAA,IACzB,eAAe;AAAA,MACd;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,YAAY,MAAM;AAGjB,gBAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,mBAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,UAAU,KAAK,mBAAmB;AAAA,UACnD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,YAAY,CAAC,mBAAmB;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,YAAY;AAAA,YACX,WAAW,CAAC,mBAAmB;AAAA,YAC/B,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;", - "names": [] -} diff --git a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs new file mode 100644 index 0000000..f1c3af1 --- /dev/null +++ b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs @@ -0,0 +1,97 @@ +// contentlayer.config.js +import { defineDocumentType, makeSource } from "contentlayer/source-files"; +import remarkGfm from "remark-gfm"; +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("/"), + }, +}; +var Project = defineDocumentType(() => ({ + name: "Project", + filePathPattern: "./projects/**/*.mdx", + contentType: "mdx", + fields: { + published: { + type: "boolean", + }, + 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, +})); +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", + }, + }, + ], + ], + }, +}); +export { Page, Project, contentlayer_config_default as default }; +//# sourceMappingURL=compiled-contentlayer-config-RHAHPX7F.mjs.map diff --git a/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs.map b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs.map new file mode 100644 index 0000000..7ec1135 --- /dev/null +++ b/.contentlayer/.cache/v0.3.0/compiled-contentlayer-config-RHAHPX7F.mjs.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../../contentlayer.config.js"], + "sourcesContent": ["import { defineDocumentType, makeSource } from \"contentlayer/source-files\";\nimport remarkGfm from \"remark-gfm\";\nimport rehypePrettyCode from \"rehype-pretty-code\";\nimport rehypeSlug from \"rehype-slug\";\nimport rehypeAutolinkHeadings from \"rehype-autolink-headings\";\n\n/** @type {import('contentlayer/source-files').ComputedFields} */\nconst computedFields = {\n\tpath: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => `/${doc._raw.flattenedPath}`,\n\t},\n\tslug: {\n\t\ttype: \"string\",\n\t\tresolve: (doc) => doc._raw.flattenedPath.split(\"/\").slice(1).join(\"/\"),\n\t},\n};\n\nexport const Project = defineDocumentType(() => ({\n\tname: \"Project\",\n\tfilePathPattern: \"./projects/**/*.mdx\",\n\tcontentType: \"mdx\",\n\n\tfields: {\n\t\tpublished:{\n\t\t\ttype: \"boolean\",\n\t\t},\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdate: {\n\t\t\ttype: \"date\",\n\t\t},\n\t\turl: {\n\t\t\ttype: \"string\",\n\t\t},\n\t\trepository: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport const Page = defineDocumentType(() => ({\n\tname: \"Page\",\n\tfilePathPattern: \"pages/**/*.mdx\",\n\tcontentType: \"mdx\",\n\tfields: {\n\t\ttitle: {\n\t\t\ttype: \"string\",\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: \"string\",\n\t\t},\n\t},\n\tcomputedFields,\n}));\n\nexport default makeSource({\n\tcontentDirPath: \"./content\",\n\tdocumentTypes: [Page, Project],\n\tmdx: {\n\t\tremarkPlugins: [remarkGfm],\n\t\trehypePlugins: [\n\t\t\trehypeSlug,\n\t\t\t[\n\t\t\t\trehypePrettyCode,\n\t\t\t\t{\n\t\t\t\t\ttheme: \"github-dark\",\n\t\t\t\t\tonVisitLine(node) {\n\t\t\t\t\t\t// Prevent lines from collapsing in `display: grid` mode, and allow empty\n\t\t\t\t\t\t// lines to be copy/pasted\n\t\t\t\t\t\tif (node.children.length === 0) {\n\t\t\t\t\t\t\tnode.children = [{ type: \"text\", value: \" \" }];\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedLine(node) {\n\t\t\t\t\t\tnode.properties.className.push(\"line--highlighted\");\n\t\t\t\t\t},\n\t\t\t\t\tonVisitHighlightedWord(node) {\n\t\t\t\t\t\tnode.properties.className = [\"word--highlighted\"];\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\t[\n\t\t\t\trehypeAutolinkHeadings,\n\t\t\t\t{\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tclassName: [\"subheading-anchor\"],\n\t\t\t\t\t\tariaLabel: \"Link to section\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t],\n\t},\n});\n"], + "mappings": ";AAAA,SAAS,oBAAoB,kBAAkB;AAC/C,OAAO,eAAe;AACtB,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AAGnC,IAAM,iBAAiB;AAAA,EACtB,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,IAAI,KAAK;AAAA,EAChC;AAAA,EACA,MAAM;AAAA,IACL,MAAM;AAAA,IACN,SAAS,CAAC,QAAQ,IAAI,KAAK,cAAc,MAAM,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG;AAAA,EACtE;AACD;AAEO,IAAM,UAAU,mBAAmB,OAAO;AAAA,EAChD,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EAEb,QAAQ;AAAA,IACP,WAAU;AAAA,MACT,MAAM;AAAA,IACP;AAAA,IACA,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,MAAM;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEK,IAAM,OAAO,mBAAmB,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,QAAQ;AAAA,IACP,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACX;AAAA,IACA,aAAa;AAAA,MACZ,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA;AACD,EAAE;AAEF,IAAO,8BAAQ,WAAW;AAAA,EACzB,gBAAgB;AAAA,EAChB,eAAe,CAAC,MAAM,OAAO;AAAA,EAC7B,KAAK;AAAA,IACJ,eAAe,CAAC,SAAS;AAAA,IACzB,eAAe;AAAA,MACd;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,YAAY,MAAM;AAGjB,gBAAI,KAAK,SAAS,WAAW,GAAG;AAC/B,mBAAK,WAAW,CAAC,EAAE,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,YAC9C;AAAA,UACD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,UAAU,KAAK,mBAAmB;AAAA,UACnD;AAAA,UACA,uBAAuB,MAAM;AAC5B,iBAAK,WAAW,YAAY,CAAC,mBAAmB;AAAA,UACjD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC;AAAA,QACA;AAAA,UACC,YAAY;AAAA,YACX,WAAW,CAAC,mBAAmB;AAAA,YAC/B,WAAW;AAAA,UACZ;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;", + "names": [] +} diff --git a/.contentlayer/.cache/v0.3.0/data-AAEZAM7W.json b/.contentlayer/.cache/v0.3.0/data-AAEZAM7W.json new file mode 100644 index 0000000..29aeb9f --- /dev/null +++ b/.contentlayer/.cache/v0.3.0/data-AAEZAM7W.json @@ -0,0 +1,417 @@ +{ + "cacheItemsMap": { + "projects/access.mdx": { + "document": { + "published": true, + "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.", + "date": "2022-11-13T00:00:00.000Z", + "repository": "chronark/access", + "body": { + "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 sn=Object.create;var S=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var z=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(l,e)=>{for(var _ in e)S(l,_,{get:e[_],enumerable:!0})},xe=(l,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of mn(e))!fn.call(l,y)&&y!==_&&S(l,y,{get:()=>e[y],enumerable:!(k=ln(e,y))||k.enumerable});return l};var bn=(l,e,_)=>(_=l!=null?sn(un(l)):{},xe(e||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>xe(S({},\"__esModule\",{value:!0}),l);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var l=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=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(n){{for(var a=arguments.length,d=new Array(a>1?a-1:0),c=1;c=1&&u>=0&&t[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(t[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||t[m]!==h[u]){var b=`\n`+t[m].replace(\" at new \",\" at \");return n.displayName&&b.includes(\"\")&&(b=b.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,b),b}while(m>=1&&u>=0);break}}}finally{$=!1,I.current=i,$e(),Error.prepareStackTrace=s}var j=n?n.displayName||n.name:\"\",ke=j?C(j):\"\";return typeof n==\"function\"&&D.set(n,ke),ke}function Ve(n,a,d){return se(n,!1)}function Me(n){var a=n.prototype;return!!(a&&a.isReactComponent)}function w(n,a,d){if(n==null)return\"\";if(typeof n==\"function\")return se(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,d);case B:{var c=n,s=c._payload,i=c._init;try{return w(i(s),a,d)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,d=w(n.type,n._source,a?a.type:null);le.setExtraStackFrame(d)}else le.setExtraStackFrame(null)}function Le(n,a,d,c,s){{var i=Function.call.bind(T);for(var o in n)if(i(n,o)){var t=void 0;try{if(typeof n[o]!=\"function\"){var h=Error((c||\"React class\")+\": \"+d+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}t=n[o](a,o,c,d,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){t=m}t&&!(t instanceof Error)&&(A(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).\",c||\"React class\",d,o,typeof t),A(null)),t instanceof Error&&!(t.message in ie)&&(ie[t.message]=!0,A(s),f(\"Failed %s type: %s\",d,t.message),A(null))}}}var qe=Array.isArray;function W(n){return qe(n)}function ze(n){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,d=a&&n[Symbol.toStringTag]||n.constructor.name||\"Object\";return d}}function Ge(n){try{return me(n),!1}catch{return!0}}function me(n){return\"\"+n}function ue(n){if(Ge(n))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),me(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},fe,he,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 d=p(v.current.type);V[d]||(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(v.current.type),n.ref),V[d]=!0)}}function Je(n,a){{var d=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))};d.isReactWarning=!0,Object.defineProperty(n,\"key\",{get:d,configurable:!0})}}function Qe(n,a){{var d=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))};d.isReactWarning=!0,Object.defineProperty(n,\"ref\",{get:d,configurable:!0})}}var en=function(n,a,d,c,s,i,o){var t={$$typeof:e,type:n,key:a,ref:d,props:o,_owner:i};return t._store={},Object.defineProperty(t._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(t,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.defineProperty(t,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t};function nn(n,a,d,c,s){{var i,o={},t=null,h=null;d!==void 0&&(ue(d),t=\"\"+d),He(a)&&(ue(a.key),t=\"\"+a.key),Ke(a)&&(h=a.ref,Ze(a,s));for(i in a)T.call(a,i)&&!Xe.hasOwnProperty(i)&&(o[i]=a[i]);if(n&&n.defaultProps){var m=n.defaultProps;for(i in m)o[i]===void 0&&(o[i]=m[i])}if(t||h){var u=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;t&&Je(o,u),h&&Qe(o,u)}return en(n,t,h,s,c,v.current,o)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,d=w(n.type,n._source,a?a.type:null);be.setExtraStackFrame(d)}else be.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(/^.*[\\\\\\/]/,\"\"),d=n.lineNumber;return`\n\nCheck your code at `+a+\":\"+d+\".\"}return\"\"}}var pe={};function an(n){{var a=_e();if(!a){var d=typeof n==\"string\"?n:n.displayName||n.name;d&&(a=`\n\nCheck the top-level render call using <`+d+\">.\")}return a}}function Ne(n,a){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var d=an(a);if(pe[d])return;pe[d]=!0;var c=\"\";n&&n._owner&&n._owner!==M.current&&(c=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,c),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var d=0;d\",t=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof n,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,t)}var u=nn(n,a,d,s,i);if(u==null)return u;if(o){var b=a.children;if(b!==void 0)if(c)if(W(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};hn(kn,{default:()=>yn,frontmatter:()=>pn});var r=bn(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\",published:!0};function Fe(l){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},l.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:9,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:12,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:13,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:15,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:17,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:21,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:23,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},l,{children:(0,r.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this):Fe(l)}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": { + "sourceFilePath": "projects/access.mdx", + "sourceFileName": "access.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/access" + }, + "type": "Project", + "path": "/projects/access", + "slug": "access" + }, + "documentHash": "1679819558148", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/envshare.mdx": { + "document": { + "published": true, + "title": "envshare.dev", + "description": "EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.", + "date": "2023-01-16T00:00:00.000Z", + "url": "https://envshare.dev", + "repository": "chronark/envshare", + "body": { + "raw": "\nEnvShare is a simple tool to share environment variables securely. It uses\n**AES-GCM** to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.\n\n## Features\n\n- **Shareable Links:** Share your environment variables securely by sending a\n link\n- **End-to-End Encryption:** AES-GCM encryption is used to encrypt your data\n before sending it to the server\n- **Limit number of reads:** Limit the number of times a link can be read\n- **Auto Expire:** Automatically expire links and delete data after a certain\n time\n\n\n\n![](https://github.com/chronark/envshare/raw/main/img/envshare.png)\n\n## Built with\n\n- [Next.js](https://nextjs.org)\n- [tailwindcss](https://tailwindcss.com)\n- Deployed on [Vercel](https://vercel.com?utm_source=envshare)\n- Data stored on [Upstash](https://upstash.com?utm_source=envshare)\n\n## Deploy your own\n\nDetailed instructions can be found [here](https://envshare.dev/deploy)\n\nAll you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)\n\n\n\n## Configuration\n\n### Environment Variables\n\n`ENABLE_VERCEL_ANALYTICS` Any truthy value will enable Vercel Analytics. This is turned off by default\n\n## Contributing\n\nThis repository uses `pnpm` to manage dependencies. Install it using\n`npm install -g pnpm`\n\nPlease run `pnpm fmt` before committing to format the code.\n\n## Docs\n\nDocs in the README are temporary and will be moved to the website soon.\n\n### API\n\n#### Store a secret\n\n**PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.**\n\nThis endpoint is only meant to store **already encrypted** secrets. The\nencrypted secrets are stored in plain text.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"\n```\n\nYou can add optional headers to configure the ttl and number of reads.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"\n```\n\n- Omitting the `envshare-ttl` header will set a default of 30 days. Disable the\n ttl by setting it to 0. (`envshare-ttl: 0`)\n- Omitting the `envshare-reads` header will simply disable it and allow reading\n for an unlimited number of times.\n\nThis endpoint returns a JSON response with the secret id:\n\n```json\n{\n \"data\": {\n \"id\": \"HdPbXgpvUvNk43oxSdK97u\",\n \"ttl\": 86400,\n \"reads\": 2,\n \"expiresAt\": \"2023-01-19T20:47:28.383Z\",\n \"url\": \"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"\n }\n}\n```\n\n#### Retrieve a secret\n\nYou need an id to retrieve a secret. The id is returned when you store a secret.\n\n```sh-session\n$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\n```\n\n```json\n{\n \"data\": {\n \"secret\": \"Hello\",\n \"remainingReads\": 1\n }\n}\n```", + "code": "var Component=(()=>{var ln=Object.create;var O=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var X=(d,n)=>()=>(n||d((n={exports:{}}).exports,n),n.exports),hn=(d,n)=>{for(var _ in n)O(d,_,{get:n[_],enumerable:!0})},ye=(d,n,_,x)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let k of un(n))!bn.call(d,k)&&k!==_&&O(d,k,{get:()=>n[k],enumerable:!(x=dn(n,k))||x.enumerable});return d};var fn=(d,n,_)=>(_=d!=null?ln(mn(d)):{},ye(n||!d||!d.__esModule?O(_,\"default\",{value:d,enumerable:!0}):_,d)),_n=d=>ye(O({},\"__esModule\",{value:!0}),d);var ve=X((gn,ge)=>{ge.exports=React});var Ee=X(H=>{\"use strict\";(function(){\"use strict\";var d=ve(),n=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),q=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),z=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\"),L=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 t=J&&e[J]||e[Te];return typeof t==\"function\"?t:null}var g=d.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(e){{for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o=1&&m>=0&&s[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(s[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||s[u]!==h[m]){var f=`\n`+s[u].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,f),f}while(u>=1&&m>=0);break}}}finally{V=!1,I.current=l,Ve(),Error.prepareStackTrace=c}var E=e?e.displayName||e.name:\"\",xe=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,xe),xe}function $e(e,t,a){return ce(e,!1)}function Me(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function S(e,t,a){if(e==null)return\"\";if(typeof e==\"function\")return ce(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 $e(e.render);case F:return S(e.type,t,a);case L:{var o=e,c=o._payload,l=o._init;try{return S(l(c),t,a)}catch{}}}return\"\"}var C=Object.prototype.hasOwnProperty,le={},de=g.ReactDebugCurrentFrame;function P(e){if(e){var t=e._owner,a=S(e.type,e._source,t?t.type:null);de.setExtraStackFrame(a)}else de.setExtraStackFrame(null)}function We(e,t,a,o,c){{var l=Function.call.bind(C);for(var i in e)if(l(e,i)){var s=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((o||\"React class\")+\": \"+a+\" 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}s=e[i](t,i,o,a,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){s=u}s&&!(s instanceof Error)&&(P(c),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\",a,i,typeof s),P(null)),s instanceof Error&&!(s.message in le)&&(le[s.message]=!0,P(c),b(\"Failed %s type: %s\",a,s.message),P(null))}}}var Ge=Array.isArray;function Y(e){return Ge(e)}function Xe(e){{var t=typeof Symbol==\"function\"&&Symbol.toStringTag,a=t&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return a}}function He(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(He(e))return b(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Xe(e)),ue(e)}var U=g.ReactCurrentOwner,qe={key:!0,ref:!0,__self:!0,__source:!0},be,he,$;$={};function Ke(e){if(C.call(e,\"ref\")){var t=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(C.call(e,\"key\")){var t=Object.getOwnPropertyDescriptor(e,\"key\").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function Je(e,t){if(typeof e.ref==\"string\"&&U.current&&t&&U.current.stateNode!==t){var a=p(U.current.type);$[a]||(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(U.current.type),e.ref),$[a]=!0)}}function Ze(e,t){{var a=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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:a,configurable:!0})}}function Qe(e,t){{var a=function(){he||(he=!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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:a,configurable:!0})}}var en=function(e,t,a,o,c,l,i){var s={$$typeof:n,type:e,key:t,ref:a,props:i,_owner:l};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(e,t,a,o,c){{var l,i={},s=null,h=null;a!==void 0&&(me(a),s=\"\"+a),ze(t)&&(me(t.key),s=\"\"+t.key),Ke(t)&&(h=t.ref,Je(t,c));for(l in t)C.call(t,l)&&!qe.hasOwnProperty(l)&&(i[l]=t[l]);if(e&&e.defaultProps){var u=e.defaultProps;for(l in u)i[l]===void 0&&(i[l]=u[l])}if(s||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;s&&Ze(i,m),h&&Qe(i,m)}return en(e,s,h,c,o,U.current,i)}}var M=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function v(e){if(e){var t=e._owner,a=S(e.type,e._source,t?t.type:null);fe.setExtraStackFrame(a)}else fe.setExtraStackFrame(null)}var W;W=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===n}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function rn(e){{if(e!==void 0){var t=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),a=e.lineNumber;return`\n\nCheck your code at `+t+\":\"+a+\".\"}return\"\"}}var pe={};function tn(e){{var t=_e();if(!t){var a=typeof e==\"string\"?e:e.displayName||e.name;a&&(t=`\n\nCheck the top-level render call using <`+a+\">.\")}return t}}function Ne(e,t){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var a=tn(t);if(pe[a])return;pe[a]=!0;var o=\"\";e&&e._owner&&e._owner!==M.current&&(o=\" It was passed a child from \"+p(e._owner.type)+\".\"),v(e),b('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',a,o),v(null)}}function ke(e,t){{if(typeof e!=\"object\")return;if(Y(e))for(var a=0;a\",s=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,b(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,s)}var m=nn(e,t,a,c,l);if(m==null)return m;if(i){var f=t.children;if(f!==void 0)if(o)if(Y(f)){for(var E=0;E{\"use strict\";je.exports=Ee()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var r=fn(Ue()),pn={title:\"envshare.dev\",description:\"EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.\",date:\"2023-01-16\",url:\"https://envshare.dev\",repository:\"chronark/envshare\",published:!0};function Re(d){let n=Object.assign({p:\"p\",strong:\"strong\",h2:\"h2\",a:\"a\",span:\"span\",ul:\"ul\",li:\"li\",img:\"img\",h3:\"h3\",code:\"code\",h4:\"h4\",div:\"div\",pre:\"pre\"},d.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(n.p,{children:[`EnvShare is a simple tool to share environment variables securely. It uses\n`,(0,r.jsxDEV)(n.strong,{children:\"AES-GCM\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:11,columnNumber:1},this),` to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"features\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#features\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Features\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Shareable Links:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:3},this),` Share your environment variables securely by sending a\nlink`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"End-to-End Encryption:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:18,columnNumber:3},this),` AES-GCM encryption is used to encrypt your data\nbefore sending it to the server`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Limit number of reads:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:20,columnNumber:3},this),\" Limit the number of times a link can be read\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Auto Expire:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:21,columnNumber:3},this),` Automatically expire links and delete data after a certain\ntime`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.img,{src:\"https://github.com/chronark/envshare/raw/main/img/envshare.png\",alt:\"\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:26,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"built-with\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#built-with\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Built with\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://nextjs.org\",children:\"Next.js\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://tailwindcss.com\",children:\"tailwindcss\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:31,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Deployed on \",(0,r.jsxDEV)(n.a,{href:\"https://vercel.com?utm_source=envshare\",children:\"Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:32,columnNumber:15},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Data stored on \",(0,r.jsxDEV)(n.a,{href:\"https://upstash.com?utm_source=envshare\",children:\"Upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:33,columnNumber:18},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:33,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"deploy-your-own\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deploy-your-own\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Deploy your own\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Detailed instructions can be found \",(0,r.jsxDEV)(n.a,{href:\"https://envshare.dev/deploy\",children:\"here\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:37,columnNumber:36},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:`All you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.a,{href:\"https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17\",children:(0,r.jsxDEV)(n.img,{src:\"https://vercel.com/button\",alt:\"Deploy with Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:2},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"configuration\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#configuration\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Configuration\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"environment-variables\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#environment-variables\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Environment Variables\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[(0,r.jsxDEV)(n.code,{children:\"ENABLE_VERCEL_ANALYTICS\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:50,columnNumber:1},this),\" Any truthy value will enable Vercel Analytics. This is turned off by default\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"contributing\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:52,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This repository uses \",(0,r.jsxDEV)(n.code,{children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:54,columnNumber:22},this),` to manage dependencies. Install it using\n`,(0,r.jsxDEV)(n.code,{children:\"npm install -g pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:55,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:54,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Please run \",(0,r.jsxDEV)(n.code,{children:\"pnpm fmt\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:57,columnNumber:12},this),\" before committing to format the code.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:57,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"docs\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#docs\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Docs\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:59,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"Docs in the README are temporary and will be moved to the website soon.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"api\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#api\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"API\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"store-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#store-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Store a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.strong,{children:\"PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:67,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:67,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This endpoint is only meant to store \",(0,r.jsxDEV)(n.strong,{children:\"already encrypted\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:69,columnNumber:38},this),` secrets. The\nencrypted secrets are stored in plain text.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:69,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:72,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You can add optional headers to configure the ttl and number of reads.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:76,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:78,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-ttl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:16},this),` header will set a default of 30 days. Disable the\nttl by setting it to 0. (`,(0,r.jsxDEV)(n.code,{children:\"envshare-ttl: 0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:83,columnNumber:28},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-reads\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:84,columnNumber:16},this),` header will simply disable it and allow reading\nfor an unlimited number of times.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:84,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"This endpoint returns a JSON response with the secret id:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:87,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"id\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:110},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:148},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:218},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"ttl\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"86400\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:149},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:190},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"reads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:113},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"2\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:151},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:188},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"expiresAt\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:117},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"2023-01-19T20:47:28.383Z\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:155},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:227},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"url\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"retrieve-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#retrieve-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Retrieve a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:101,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You need an id to retrieve a secret. The id is returned when you store a secret.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:103,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:\"$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:105,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:114},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"Hello\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:152},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:205},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"remainingReads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:122},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:160},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:109,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(d={}){let{wrapper:n}=d.components||{};return n?(0,r.jsxDEV)(n,Object.assign({},d,{children:(0,r.jsxDEV)(Re,d,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this):Re(d)}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/envshare.mdx", + "_raw": { + "sourceFilePath": "projects/envshare.mdx", + "sourceFileName": "envshare.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/envshare" + }, + "type": "Project", + "path": "/projects/envshare", + "slug": "envshare" + }, + "documentHash": "1679819564284", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/planetfall.mdx": { + "document": { + "published": true, + "title": "planetfall.io", + "description": "I'm building a SAAS providing 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": "\n\nPlanetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world. \nPlanetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.", + "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 h in l)D(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let b of fr(l))!dr.call(s,b)&&b!==h&&D(s,b,{get:()=>l[b],enumerable:!(y=lr(l,b))||y.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=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\"),h=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),b=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),W=Symbol.for(\"react.suspense_list\"),O=Symbol.for(\"react.memo\"),Y=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&&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,$.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 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 W:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case C:return Ue(e.render);case O:return k(e.type,r,t);case Y:{var n=e,i=n._payload,u=n._init;try{return k(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,le={},fe=_.ReactDebugCurrentFrame;function A(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)&&(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,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(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 Ke(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\"&&P.current&&r&&P.current.stateNode!==r){var t=m(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',m(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),He(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 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,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 G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function me(){{if(L.current){var e=m(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=me();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 be(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 \"+m(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:()=>br,frontmatter:()=>mr});var F=pr(Ce()),mr={title:\"planetfall.io\",description:\"I'm building a SAAS providing 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\",published:!0};function Oe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:`Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world.\nPlanetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\",lineNumber:11,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-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\"},this):Oe(s)}var br=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/planetfall.mdx", + "_raw": { + "sourceFilePath": "projects/planetfall.mdx", + "sourceFileName": "planetfall.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/planetfall" + }, + "type": "Project", + "path": "/projects/planetfall", + "slug": "planetfall" + }, + "documentHash": "1679826085197", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/qstash.mdx": { + "document": { + "published": true, + "title": "QStash", + "description": "QStash is a fully managed serverless queue and messaging service designed for the serverless era.", + "date": "2022-07-18T00:00:00.000Z", + "url": "https://upstash.com/qstash", + "body": { + "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 ur=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var B=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports),hr=(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))!dr.call(l,g)&&g!==v&&F(l,g,{get:()=>t[g],enumerable:!(y=cr(t,g))||y.enumerable});return l};var mr=(l,t,v)=>(v=l!=null?ur(fr(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 h(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a=1&&d>=0&&o[f]!==m[d];)d--;for(;f>=1&&d>=0;f--,d--)if(o[f]!==m[d]){if(f!==1||d!==1)do if(f--,d--,d<0||o[f]!==m[d]){var b=`\n`+o[f].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(f>=1&&d>=0);break}}}finally{M=!1,W.current=u,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 ue(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 ue(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,u=a._init;try{return C(u(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ce={},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 u=Function.call.bind(O);for(var i in e)if(u(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var m=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 m.name=\"Invariant Violation\",m}o=e[i](r,i,a,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){o=f}o&&!(o instanceof Error)&&(D(s),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).\",a||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ce)&&(ce[o.message]=!0,D(s),h(\"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 fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),fe(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},he,me,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]||(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(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){me||(me=!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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,a,s,u,i){var o={$$typeof:t,type:e,key:r,ref:n,props:i,_owner:u};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 u,i={},o=null,m=null;n!==void 0&&(de(n),o=\"\"+n),He(r)&&(de(r.key),o=\"\"+r.key),Xe(r)&&(m=r.ref,Ke(r,s));for(u in r)O.call(r,u)&&!Ge.hasOwnProperty(u)&&(i[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)i[u]===void 0&&(i[u]=f[u])}if(o||m){var d=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,d),m&&Ze(i,d)}return er(e,o,m,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),h('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?\"):f=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,o)}var d=rr(e,r,n,s,u);if(d==null)return d;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={};hr(gr,{default:()=>_r,frontmatter:()=>vr});var c=mr(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\",published:!0};function Te(l){let t=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,c.jsxDEV)(c.Fragment,{children:[(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.ul,{children:[`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:17,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.ul,{children:[`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:27,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.p,{children:[\"To learn more about QStash, visit \",(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:36,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:36,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:t}=l.components||{};return t?(0,c.jsxDEV)(t,Object.assign({},l,{children:(0,c.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.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": { + "sourceFilePath": "projects/qstash.mdx", + "sourceFileName": "qstash.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/qstash" + }, + "type": "Project", + "path": "/projects/qstash", + "slug": "qstash" + }, + "documentHash": "1679819571089", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/terraform-provider-vercel.mdx": { + "document": { + "published": true, + "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": "\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 ir=Object.create;var S=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var G=(u,r)=>()=>(r||u((r={exports:{}}).exports,r),r.exports),hr=(u,r)=>{for(var _ in r)S(u,_,{get:r[_],enumerable:!0})},ve=(u,r,_,k)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let y of ur(r))!mr.call(u,y)&&y!==_&&S(u,y,{get:()=>r[y],enumerable:!(k=lr(r,y))||k.enumerable});return u};var fr=(u,r,_)=>(_=u!=null?ir(dr(u)):{},ve(r||!u||!u.__esModule?S(_,\"default\",{value:u,enumerable:!0}):_,u)),br=u=>ve(S({},\"__esModule\",{value:!0}),u);var ge=G((vr,xe)=>{xe.exports=React});var Ee=G(z=>{\"use strict\";(function(){\"use strict\";var u=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=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),c=1;c=1&&m>=0&&o[d]!==f[m];)m--;for(;d>=1&&m>=0;d--,m--)if(o[d]!==f[m]){if(d!==1||m!==1)do if(d--,m--,m<0||o[d]!==f[m]){var b=`\n`+o[d].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,b),b}while(d>=1&&m>=0);break}}}finally{Y=!1,I.current=l,Ye(),Error.prepareStackTrace=i}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 ie(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 ie(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 c=e,i=c._payload,l=c._init;try{return C(l(i),a,t)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,le={},ue=x.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);ue.setExtraStackFrame(t)}else ue.setExtraStackFrame(null)}function Le(e,a,t,c,i){{var l=Function.call.bind(O);for(var s in e)if(l(e,s)){var o=void 0;try{if(typeof e[s]!=\"function\"){var f=Error((c||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}o=e[s](a,s,c,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){o=d}o&&!(o instanceof Error)&&(P(i),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).\",c||\"React class\",t,s,typeof o),P(null)),o instanceof Error&&!(o.message in le)&&(le[o.message]=!0,P(i),h(\"Failed %s type: %s\",t,o.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 de(e),!1}catch{return!0}}function de(e){return\"\"+e}function me(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),de(e)}var U=x.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},he,fe,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]||(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(U.current.type),e.ref),W[t]=!0)}}function Ze(e,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(e,\"key\",{get:t,configurable:!0})}}function Qe(e,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(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,a,t,c,i,l,s){var o={$$typeof:r,type:e,key:a,ref:t,props:s,_owner:l};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:c}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function rr(e,a,t,c,i){{var l,s={},o=null,f=null;t!==void 0&&(me(t),o=\"\"+t),He(a)&&(me(a.key),o=\"\"+a.key),Xe(a)&&(f=a.ref,Je(a,i));for(l in a)O.call(a,l)&&!Ke.hasOwnProperty(l)&&(s[l]=a[l]);if(e&&e.defaultProps){var d=e.defaultProps;for(l in d)s[l]===void 0&&(s[l]=d[l])}if(o||f){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Ze(s,m),f&&Qe(s,m)}return er(e,o,f,i,c,U.current,s)}}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 c=\"\";e&&e._owner&&e._owner!==M.current&&(c=\" It was passed a child from \"+p(e._owner.type)+\".\"),g(e),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,c),g(null)}}function ye(e,a){{if(typeof e!=\"object\")return;if($(e))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):d=typeof e,h(\"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 m=rr(e,a,t,i,l);if(m==null)return m;if(s){var b=a.children;if(b!==void 0)if(c)if($(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var yr={};hr(yr,{default:()=>Nr,frontmatter:()=>_r});var n=fr(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\",published:!0};function Re(u){let r=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},u.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:12,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:16,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:39,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:42,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:44,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:44,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:46,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:46,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:1},this)}function pr(u={}){let{wrapper:r}=u.components||{};return r?(0,n.jsxDEV)(r,Object.assign({},u,{children:(0,n.jsxDEV)(Re,u,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\"},this):Re(u)}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": { + "sourceFilePath": "projects/terraform-provider-vercel.mdx", + "sourceFileName": "terraform-provider-vercel.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/terraform-provider-vercel" + }, + "type": "Project", + "path": "/projects/terraform-provider-vercel", + "slug": "terraform-provider-vercel" + }, + "documentHash": "1679819574612", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-auth-analytics.mdx": { + "document": { + "title": "Upstash Auth Analytics", + "description": "A library to record and analyse Auth.js user behaviour", + "url": "https://console.upstash.com/ratelimit", + "repository": "upstash/auth-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=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)A(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&&A(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?A(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(A({},\"__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\"),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[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 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 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.\",qe(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=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),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 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&&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=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?\"):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 F=pr(we()),br={title:\"Upstash Auth Analytics\",description:\"A library to record and analyse Auth.js user behaviour\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/auth-analytics\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e491d153-3318-4404-b9cc-ddf66fe9f45f.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,F.jsxDEV)(f,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-e491d153-3318-4404-b9cc-ddf66fe9f45f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e491d153-3318-4404-b9cc-ddf66fe9f45f.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;" + }, + "_id": "projects/upstash-auth-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-auth-analytics.mdx", + "sourceFileName": "upstash-auth-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-auth-analytics" + }, + "type": "Project", + "path": "/projects/upstash-auth-analytics", + "slug": "upstash-auth-analytics" + }, + "documentHash": "1679820070900", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-cli.mdx": { + "document": { + "published": true, + "title": "@upstash/cli", + "description": "A CLI to provision and manage Upstash resources, including Redis and Kafka databases.", + "date": "2022-05-16T00:00:00.000Z", + "url": "https://upstash.com/cli", + "repository": "upstash/cli", + "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 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 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=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\"),K=Symbol.for(\"react.profiler\"),X=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[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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Ke={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 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 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)k.call(r,u)&&!Ke.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&&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=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?\"):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:\"@upstash/cli\",description:\"A CLI to provision and manage Upstash resources, including Redis and Kafka databases.\",date:\"2022-05-16\",url:\"https://upstash.com/cli\",repository:\"upstash/cli\",published:!0};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-4eb0fa00-eee7-4578-99c3-55a7c326fffe.mdx\",lineNumber:11,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-4eb0fa00-eee7-4578-99c3-55a7c326fffe.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4eb0fa00-eee7-4578-99c3-55a7c326fffe.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;" + }, + "_id": "projects/upstash-cli.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-cli.mdx", + "sourceFileName": "upstash-cli.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-cli" + }, + "type": "Project", + "path": "/projects/upstash-cli", + "slug": "upstash-cli" + }, + "documentHash": "1679819580897", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-core-analytics.mdx": { + "document": { + "published": true, + "title": "Upstash Core Analytics", + "description": "Low level utilities to build analytics tools on top of Redis.", + "date": "2023-02-13T00:00:00.000Z", + "url": "https://console.upstash.com/ratelimit", + "repository": "upstash/core-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var F=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)F(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&&F(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?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(),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\"),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&&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 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,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 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: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),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 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,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===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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Upstash Core Analytics\",description:\"Low level utilities to build analytics tools on top of Redis.\",date:\"2023-02-13\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/core-analytics\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-19540f58-fb17-4699-b4c6-0cb9420afdb1.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-19540f58-fb17-4699-b4c6-0cb9420afdb1.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-19540f58-fb17-4699-b4c6-0cb9420afdb1.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;" + }, + "_id": "projects/upstash-core-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-core-analytics.mdx", + "sourceFileName": "upstash-core-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-core-analytics" + }, + "type": "Project", + "path": "/projects/upstash-core-analytics", + "slug": "upstash-core-analytics" + }, + "documentHash": "1679819583922", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-edge-flags.mdx": { + "document": { + "published": true, + "title": "@upstash/edge-flags", + "description": "Featues flags for your edge functions.", + "date": "2022-12-12T00:00:00.000Z", + "url": "https://upstash.com/edge-flags", + "repository": "upstash/edge-flags", + "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 q=(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 cr(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(lr(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=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"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\"),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[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 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 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.\",qe(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=g(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',g(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),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 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&&Ze(o,l),v&&Qe(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 G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function ge(){{if(L.current){var e=g(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 he={};function nr(e){{var r=ge();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(he[t])return;he[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+g(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:()=>gr});var A=pr(we()),gr={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\",published:!0};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-55f51b83-ce3b-423c-bad6-92589929a727.mdx\",lineNumber:11,columnNumber:1},this)}function hr(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-55f51b83-ce3b-423c-bad6-92589929a727.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-55f51b83-ce3b-423c-bad6-92589929a727.mdx\"},this):Pe(s)}var mr=hr;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;" + }, + "_id": "projects/upstash-edge-flags.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-edge-flags.mdx", + "sourceFileName": "upstash-edge-flags.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-edge-flags" + }, + "type": "Project", + "path": "/projects/upstash-edge-flags", + "slug": "upstash-edge-flags" + }, + "documentHash": "1679819586745", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-kafka.mdx": { + "document": { + "published": true, + "title": "@upstash/kafka", + "description": "A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes", + "date": "2022-01-08T00:00:00.000Z", + "url": "https://upstash.com/kafka", + "repository": "upstash/upstash-kafka", + "body": { + "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 bn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var G=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports),hn=(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))!un.call(m,k)&&k!==_&&P(m,k,{get:()=>e[k],enumerable:!(x=mn(e,k))||x.enumerable});return m};var fn=(m,e,_)=>(_=m!=null?dn(bn(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 u(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&b>=0&&s[l]!==h[b];)b--;for(;l>=1&&b>=0;l--,b--)if(s[l]!==h[b]){if(l!==1||b!==1)do if(l--,b--,b<0||s[l]!==h[b]){var f=`\n`+s[l].replace(\" at new \",\" at \");return r.displayName&&f.includes(\"\")&&(f=f.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,f),f}while(l>=1&&b>=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 h=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 h.name=\"Invariant Violation\",h}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),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,c,typeof s),B(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,B(d),u(\"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 be(r){if(qe(r))return u(\"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},ue,he,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]||(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),r.ref),M[t]=!0)}}function Qe(r,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(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){he||(he=!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(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,h=null;t!==void 0&&(be(t),s=\"\"+t),Xe(a)&&(be(a.key),s=\"\"+a.key),ze(a)&&(h=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||h){var b=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,b),h&&Ze(c,b)}return en(r,s,h,d,o,v.current,c)}}var $=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.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),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 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,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 b=nn(r,a,t,d,i);if(b==null)return b;if(c){var f=a.children;if(f!==void 0)if(o)if(Y(f)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var n=fn(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\",published:!0};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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:12,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:15,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:18,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:19,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:20,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:21,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:22,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:27,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:31,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:33,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:36,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:36,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:38,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:48,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:50,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:62,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:64,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:66,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:82,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:84,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:90,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:101,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:100,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:103,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:105,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:106,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:105,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:108,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:136,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:138,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:138,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:140,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:150,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:152,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:152,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:155,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:157,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:160,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:160,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:162,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:166,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:165,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:165,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:168,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:170,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:174,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:176,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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": { + "sourceFilePath": "projects/upstash-kafka.mdx", + "sourceFileName": "upstash-kafka.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-kafka" + }, + "type": "Project", + "path": "/projects/upstash-kafka", + "slug": "upstash-kafka" + }, + "documentHash": "1679819588795", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-qstash-sdk.mdx": { + "document": { + "published": true, + "title": "@upstash/qstash", + "description": "A typescript client and consumer for QStash.", + "date": "2022-07-18T00:00:00.000Z", + "url": "https://upstash.com/qstash", + "repository": "upstash/sdk-qstash-ts", + "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 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:\"\",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,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 qe(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 Be=Array.isArray;function V(e){return Be(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=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: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,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 q;q=!1;function B(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:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\",published:!0};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-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.mdx\",lineNumber:10,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-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.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;" + }, + "_id": "projects/upstash-qstash-sdk.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-qstash-sdk.mdx", + "sourceFileName": "upstash-qstash-sdk.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-qstash-sdk" + }, + "type": "Project", + "path": "/projects/upstash-qstash-sdk", + "slug": "upstash-qstash-sdk" + }, + "documentHash": "1679819591035", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-ratelimit.mdx": { + "document": { + "published": true, + "title": "@upstash/ratelimit", + "description": "Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.", + "date": "2022-06-06T00:00:00.000Z", + "url": "https://upstash.com/ratelimit", + "repository": "upstash/ratelimit", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var F=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 h in l)F(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!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(),l=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 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:\"\",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,le={},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 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 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 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 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),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 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===l}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 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(we()),br={title:\"@upstash/ratelimit\",description:\"Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.\",date:\"2022-06-06\",url:\"https://upstash.com/ratelimit\",repository:\"upstash/ratelimit\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-37fe23d1-747d-41e2-83b3-756ee13806a3.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-37fe23d1-747d-41e2-83b3-756ee13806a3.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-37fe23d1-747d-41e2-83b3-756ee13806a3.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;" + }, + "_id": "projects/upstash-ratelimit.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-ratelimit.mdx", + "sourceFileName": "upstash-ratelimit.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-ratelimit" + }, + "type": "Project", + "path": "/projects/upstash-ratelimit", + "slug": "upstash-ratelimit" + }, + "documentHash": "1679819595280", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-react-ui.mdx": { + "document": { + "published": true, + "title": "React.js CLI", + "description": "A CLI React component to interact with Upstash Redis databases.", + "date": "2023-02-05T00:00:00.000Z", + "url": "https://upstash.com", + "repository": "upstash/react-ui", + "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 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 fr(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(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=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\"),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:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Le(e,r,t){return se(e,!1)}function Ue(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,Ue(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 Le(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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,L;L={};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);L[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),L[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 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 U=_.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(U.current){var e=h(U.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!==U.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?\"):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:()=>hr});var A=pr(we()),hr={title:\"React.js CLI\",description:\"A CLI React component to interact with Upstash Redis databases.\",date:\"2023-02-05\",url:\"https://upstash.com\",repository:\"upstash/react-ui\",published:!0};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-cb7470d6-8beb-40f7-8d67-d853d6fc6345.mdx\",lineNumber:11,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-cb7470d6-8beb-40f7-8d67-d853d6fc6345.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-cb7470d6-8beb-40f7-8d67-d853d6fc6345.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;" + }, + "_id": "projects/upstash-react-ui.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-react-ui.mdx", + "sourceFileName": "upstash-react-ui.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-react-ui" + }, + "type": "Project", + "path": "/projects/upstash-react-ui", + "slug": "upstash-react-ui" + }, + "documentHash": "1679819598600", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-redis.mdx": { + "document": { + "published": true, + "title": "@upstash/redis", + "description": "A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.", + "date": "2022-03-14T00:00:00.000Z", + "url": "https://upstash.com/redis", + "repository": "upstash/upstash-redis", + "body": { + "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,fn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(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))!fn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var bn=(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 f(r){{for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t=1&&u>=0&&o[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(o[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||o[m]!==h[u]){var b=`\n`+o[m].replace(\" at new \",\" at \");return r.displayName&&b.includes(\"\")&&(b=b.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,b),b}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,c){return de(r,!1)}function Me(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,c){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,c);case A:{var t=r,d=t._payload,i=t._init;try{return w(i(d),a,c)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function P(r){if(r){var a=r._owner,c=w(r.type,r._source,a?a.type:null);le.setExtraStackFrame(c)}else le.setExtraStackFrame(null)}function Ve(r,a,c,t,d){{var i=Function.call.bind(S);for(var s in r)if(i(r,s)){var o=void 0;try{if(typeof r[s]!=\"function\"){var h=Error((t||\"React class\")+\": \"+c+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=r[s](a,s,t,c,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){o=m}o&&!(o instanceof Error)&&(P(d),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).\",t||\"React class\",c,s,typeof o),P(null)),o instanceof Error&&!(o.message in ie)&&(ie[o.message]=!0,P(d),f(\"Failed %s type: %s\",c,o.message),P(null))}}}var He=Array.isArray;function Y(r){return He(r)}function qe(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,c=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return c}}function ze(r){try{return me(r),!1}catch{return!0}}function me(r){return\"\"+r}function ue(r){if(ze(r))return f(\"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},fe,he,$;$={};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 c=p(v.current.type);$[c]||(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(v.current.type),r.ref),$[c]=!0)}}function Qe(r,a){{var c=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))};c.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:c,configurable:!0})}}function Ze(r,a){{var c=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))};c.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:c,configurable:!0})}}var en=function(r,a,c,t,d,i,s){var o={$$typeof:e,type:r,key:a,ref:c,props:s,_owner:i};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:t}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(r,a,c,t,d){{var i,s={},o=null,h=null;c!==void 0&&(ue(c),o=\"\"+c),Xe(a)&&(ue(a.key),o=\"\"+a.key),Ke(a)&&(h=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(s[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)s[i]===void 0&&(s[i]=m[i])}if(o||h){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;o&&Qe(s,u),h&&Ze(s,u)}return en(r,o,h,d,t,v.current,s)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,c=w(r.type,r._source,a?a.type:null);be.setExtraStackFrame(c)}else be.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(/^.*[\\\\\\/]/,\"\"),c=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+c+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var c=typeof r==\"string\"?r:r.displayName||r.name;c&&(a=`\n\nCheck the top-level render call using <`+c+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var c=an(a);if(pe[c])return;pe[c]=!0;var t=\"\";r&&r._owner&&r._owner!==M.current&&(t=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',c,t),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var c=0;c\",o=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof r,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,o)}var u=nn(r,a,c,d,i);if(u==null)return u;if(s){var b=a.children;if(b!==void 0)if(t)if(Y(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var n=bn(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\",published:!0};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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:12,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:13,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:12,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:15,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:19,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:18,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:21,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:20,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:22,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:23,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:24,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:25,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:28,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:27,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:31,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:35,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:37,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:41,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:43,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:47,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:49,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:49,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:51,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:53,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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": { + "sourceFilePath": "projects/upstash-redis.mdx", + "sourceFileName": "upstash-redis.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-redis" + }, + "type": "Project", + "path": "/projects/upstash-redis", + "slug": "upstash-redis" + }, + "documentHash": "1679819604294", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-web-analytics.mdx": { + "document": { + "published": true, + "title": "Upstash Web Analytics", + "description": "A library to record and analyse web page traffic and user behaviour", + "repository": "upstash/web-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var A=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)A(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&&A(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?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 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\"),W=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{M=!1,$.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 W: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 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 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(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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(we()),hr={title:\"Upstash Web Analytics\",description:\"A library to record and analyse web page traffic and user behaviour\",repository:\"upstash/web-analytics\",published:!0};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6692e122-da3d-46ed-b1b6-14cd52b3c074.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,F.jsxDEV)(c,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-6692e122-da3d-46ed-b1b6-14cd52b3c074.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6692e122-da3d-46ed-b1b6-14cd52b3c074.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;" + }, + "_id": "projects/upstash-web-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-web-analytics.mdx", + "sourceFileName": "upstash-web-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-web-analytics" + }, + "type": "Project", + "path": "/projects/upstash-web-analytics", + "slug": "upstash-web-analytics" + }, + "documentHash": "1679820082861", + "hasWarnings": false, + "documentTypeName": "Project" + } + } +} diff --git a/.contentlayer/.cache/v0.3.0/data-RHAHPX7F.json b/.contentlayer/.cache/v0.3.0/data-RHAHPX7F.json new file mode 100644 index 0000000..6e1b17b --- /dev/null +++ b/.contentlayer/.cache/v0.3.0/data-RHAHPX7F.json @@ -0,0 +1,417 @@ +{ + "cacheItemsMap": { + "projects/access.mdx": { + "document": { + "published": true, + "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.", + "date": "2022-11-13T00:00:00.000Z", + "repository": "chronark/access", + "body": { + "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 ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var z=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(l,e)=>{for(var _ in e)S(l,_,{get:e[_],enumerable:!0})},xe=(l,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of mn(e))!fn.call(l,y)&&y!==_&&S(l,y,{get:()=>e[y],enumerable:!(k=ln(e,y))||k.enumerable});return l};var bn=(l,e,_)=>(_=l!=null?cn(un(l)):{},xe(e||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>xe(S({},\"__esModule\",{value:!0}),l);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var l=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=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(n){{for(var a=arguments.length,t=new Array(a>1?a-1:0),d=1;d=1&&u>=0&&o[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(o[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||o[m]!==h[u]){var b=`\n`+o[m].replace(\" at new \",\" at \");return n.displayName&&b.includes(\"\")&&(b=b.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,b),b}while(m>=1&&u>=0);break}}}finally{$=!1,I.current=i,$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 d=n,c=d._payload,i=d._init;try{return w(i(c),a,t)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function Le(n,a,t,d,c){{var i=Function.call.bind(T);for(var s in n)if(i(n,s)){var o=void 0;try{if(typeof n[s]!=\"function\"){var h=Error((d||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=n[s](a,s,d,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){o=m}o&&!(o instanceof Error)&&(A(c),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).\",d||\"React class\",t,s,typeof o),A(null)),o instanceof Error&&!(o.message in ie)&&(ie[o.message]=!0,A(c),f(\"Failed %s type: %s\",t,o.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 me(n),!1}catch{return!0}}function me(n){return\"\"+n}function ue(n){if(Ge(n))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),me(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},fe,he,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]||(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(v.current.type),n.ref),V[t]=!0)}}function Je(n,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(n,\"key\",{get:t,configurable:!0})}}function Qe(n,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(n,\"ref\",{get:t,configurable:!0})}}var en=function(n,a,t,d,c,i,s){var o={$$typeof:e,type:n,key:a,ref:t,props:s,_owner:i};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:d}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(n,a,t,d,c){{var i,s={},o=null,h=null;t!==void 0&&(ue(t),o=\"\"+t),He(a)&&(ue(a.key),o=\"\"+a.key),Ke(a)&&(h=a.ref,Ze(a,c));for(i in a)T.call(a,i)&&!Xe.hasOwnProperty(i)&&(s[i]=a[i]);if(n&&n.defaultProps){var m=n.defaultProps;for(i in m)s[i]===void 0&&(s[i]=m[i])}if(o||h){var u=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;o&&Je(s,u),h&&Qe(s,u)}return en(n,o,h,c,d,v.current,s)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,t=w(n.type,n._source,a?a.type:null);be.setExtraStackFrame(t)}else be.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 d=\"\";n&&n._owner&&n._owner!==M.current&&(d=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),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,d),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof n,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,o)}var u=nn(n,a,t,c,i);if(u==null)return u;if(s){var b=a.children;if(b!==void 0)if(d)if(W(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};hn(kn,{default:()=>yn,frontmatter:()=>pn});var r=bn(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\",published:!0};function Fe(l){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},l.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:9,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:11,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:12,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:13,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:11,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:15,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:17,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:21,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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.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-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:23,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},l,{children:(0,r.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-d8066872-a2fe-4fe1-adaa-65c6bdb4f8d7.mdx\"},this):Fe(l)}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": { + "sourceFilePath": "projects/access.mdx", + "sourceFileName": "access.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/access" + }, + "type": "Project", + "path": "/projects/access", + "slug": "access" + }, + "documentHash": "1679819558148", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/envshare.mdx": { + "document": { + "published": true, + "title": "envshare.dev", + "description": "EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.", + "date": "2023-01-16T00:00:00.000Z", + "url": "https://envshare.dev", + "repository": "chronark/envshare", + "body": { + "raw": "\nEnvShare is a simple tool to share environment variables securely. It uses\n**AES-GCM** to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.\n\n## Features\n\n- **Shareable Links:** Share your environment variables securely by sending a\n link\n- **End-to-End Encryption:** AES-GCM encryption is used to encrypt your data\n before sending it to the server\n- **Limit number of reads:** Limit the number of times a link can be read\n- **Auto Expire:** Automatically expire links and delete data after a certain\n time\n\n\n\n![](https://github.com/chronark/envshare/raw/main/img/envshare.png)\n\n## Built with\n\n- [Next.js](https://nextjs.org)\n- [tailwindcss](https://tailwindcss.com)\n- Deployed on [Vercel](https://vercel.com?utm_source=envshare)\n- Data stored on [Upstash](https://upstash.com?utm_source=envshare)\n\n## Deploy your own\n\nDetailed instructions can be found [here](https://envshare.dev/deploy)\n\nAll you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)\n\n\n\n## Configuration\n\n### Environment Variables\n\n`ENABLE_VERCEL_ANALYTICS` Any truthy value will enable Vercel Analytics. This is turned off by default\n\n## Contributing\n\nThis repository uses `pnpm` to manage dependencies. Install it using\n`npm install -g pnpm`\n\nPlease run `pnpm fmt` before committing to format the code.\n\n## Docs\n\nDocs in the README are temporary and will be moved to the website soon.\n\n### API\n\n#### Store a secret\n\n**PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.**\n\nThis endpoint is only meant to store **already encrypted** secrets. The\nencrypted secrets are stored in plain text.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"\n```\n\nYou can add optional headers to configure the ttl and number of reads.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"\n```\n\n- Omitting the `envshare-ttl` header will set a default of 30 days. Disable the\n ttl by setting it to 0. (`envshare-ttl: 0`)\n- Omitting the `envshare-reads` header will simply disable it and allow reading\n for an unlimited number of times.\n\nThis endpoint returns a JSON response with the secret id:\n\n```json\n{\n \"data\": {\n \"id\": \"HdPbXgpvUvNk43oxSdK97u\",\n \"ttl\": 86400,\n \"reads\": 2,\n \"expiresAt\": \"2023-01-19T20:47:28.383Z\",\n \"url\": \"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"\n }\n}\n```\n\n#### Retrieve a secret\n\nYou need an id to retrieve a secret. The id is returned when you store a secret.\n\n```sh-session\n$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\n```\n\n```json\n{\n \"data\": {\n \"secret\": \"Hello\",\n \"remainingReads\": 1\n }\n}\n```", + "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var X=(l,n)=>()=>(n||l((n={exports:{}}).exports,n),n.exports),fn=(l,n)=>{for(var _ in n)O(l,_,{get:n[_],enumerable:!0})},ye=(l,n,_,x)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let k of un(n))!hn.call(l,k)&&k!==_&&O(l,k,{get:()=>n[k],enumerable:!(x=ln(n,k))||x.enumerable});return l};var bn=(l,n,_)=>(_=l!=null?dn(mn(l)):{},ye(n||!l||!l.__esModule?O(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(O({},\"__esModule\",{value:!0}),l);var ve=X((gn,ge)=>{ge.exports=React});var Ee=X(H=>{\"use strict\";(function(){\"use strict\";var l=ve(),n=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),q=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),z=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\"),L=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 g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),c=1;c=1&&m>=0&&o[u]!==f[m];)m--;for(;u>=1&&m>=0;u--,m--)if(o[u]!==f[m]){if(u!==1||m!==1)do if(u--,m--,m<0||o[u]!==f[m]){var b=`\n`+o[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{V=!1,I.current=d,Ve(),Error.prepareStackTrace=i}var E=e?e.displayName||e.name:\"\",xe=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,xe),xe}function $e(e,a,t){return ie(e,!1)}function Me(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function S(e,a,t){if(e==null)return\"\";if(typeof e==\"function\")return ie(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 $e(e.render);case F:return S(e.type,a,t);case L:{var c=e,i=c._payload,d=c._init;try{return S(d(i),a,t)}catch{}}}return\"\"}var C=Object.prototype.hasOwnProperty,de={},le=g.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=S(e.type,e._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function We(e,a,t,c,i){{var d=Function.call.bind(C);for(var s in e)if(d(e,s)){var o=void 0;try{if(typeof e[s]!=\"function\"){var f=Error((c||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}o=e[s](a,s,c,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){o=u}o&&!(o instanceof Error)&&(P(i),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).\",c||\"React class\",t,s,typeof o),P(null)),o instanceof Error&&!(o.message in de)&&(de[o.message]=!0,P(i),h(\"Failed %s type: %s\",t,o.message),P(null))}}}var Ge=Array.isArray;function Y(e){return Ge(e)}function Xe(e){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function He(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(He(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Xe(e)),ue(e)}var U=g.ReactCurrentOwner,qe={key:!0,ref:!0,__self:!0,__source:!0},he,fe,$;$={};function Ke(e){if(C.call(e,\"ref\")){var a=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(C.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);$[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(U.current.type),e.ref),$[t]=!0)}}function Ze(e,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(e,\"key\",{get:t,configurable:!0})}}function Qe(e,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(e,\"ref\",{get:t,configurable:!0})}}var en=function(e,a,t,c,i,d,s){var o={$$typeof:n,type:e,key:a,ref:t,props:s,_owner:d};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:c}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(e,a,t,c,i){{var d,s={},o=null,f=null;t!==void 0&&(me(t),o=\"\"+t),ze(a)&&(me(a.key),o=\"\"+a.key),Ke(a)&&(f=a.ref,Je(a,i));for(d in a)C.call(a,d)&&!qe.hasOwnProperty(d)&&(s[d]=a[d]);if(e&&e.defaultProps){var u=e.defaultProps;for(d in u)s[d]===void 0&&(s[d]=u[d])}if(o||f){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Ze(s,m),f&&Qe(s,m)}return en(e,o,f,i,c,U.current,s)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function v(e){if(e){var a=e._owner,t=S(e.type,e._source,a?a.type:null);be.setExtraStackFrame(t)}else be.setExtraStackFrame(null)}var W;W=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===n}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function rn(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 an(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=an(a);if(pe[t])return;pe[t]=!0;var c=\"\";e&&e._owner&&e._owner!==M.current&&(c=\" It was passed a child from \"+p(e._owner.type)+\".\"),v(e),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,c),v(null)}}function ke(e,a){{if(typeof e!=\"object\")return;if(Y(e))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,o)}var m=nn(e,a,t,i,d);if(m==null)return m;if(s){var b=a.children;if(b!==void 0)if(c)if(Y(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var xn={};fn(xn,{default:()=>kn,frontmatter:()=>pn});var r=bn(Ue()),pn={title:\"envshare.dev\",description:\"EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.\",date:\"2023-01-16\",url:\"https://envshare.dev\",repository:\"chronark/envshare\",published:!0};function Re(l){let n=Object.assign({p:\"p\",strong:\"strong\",h2:\"h2\",a:\"a\",span:\"span\",ul:\"ul\",li:\"li\",img:\"img\",h3:\"h3\",code:\"code\",h4:\"h4\",div:\"div\",pre:\"pre\"},l.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(n.p,{children:[`EnvShare is a simple tool to share environment variables securely. It uses\n`,(0,r.jsxDEV)(n.strong,{children:\"AES-GCM\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:11,columnNumber:1},this),` to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"features\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#features\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Features\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Shareable Links:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:16,columnNumber:3},this),` Share your environment variables securely by sending a\nlink`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"End-to-End Encryption:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:18,columnNumber:3},this),` AES-GCM encryption is used to encrypt your data\nbefore sending it to the server`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Limit number of reads:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:20,columnNumber:3},this),\" Limit the number of times a link can be read\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Auto Expire:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:21,columnNumber:3},this),` Automatically expire links and delete data after a certain\ntime`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.img,{src:\"https://github.com/chronark/envshare/raw/main/img/envshare.png\",alt:\"\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:26,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"built-with\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#built-with\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Built with\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://nextjs.org\",children:\"Next.js\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:30,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://tailwindcss.com\",children:\"tailwindcss\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:31,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Deployed on \",(0,r.jsxDEV)(n.a,{href:\"https://vercel.com?utm_source=envshare\",children:\"Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:32,columnNumber:15},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Data stored on \",(0,r.jsxDEV)(n.a,{href:\"https://upstash.com?utm_source=envshare\",children:\"Upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:33,columnNumber:18},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:33,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"deploy-your-own\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deploy-your-own\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Deploy your own\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Detailed instructions can be found \",(0,r.jsxDEV)(n.a,{href:\"https://envshare.dev/deploy\",children:\"here\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:37,columnNumber:36},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:`All you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.a,{href:\"https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17\",children:(0,r.jsxDEV)(n.img,{src:\"https://vercel.com/button\",alt:\"Deploy with Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:42,columnNumber:2},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:42,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"configuration\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#configuration\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Configuration\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"environment-variables\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#environment-variables\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Environment Variables\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[(0,r.jsxDEV)(n.code,{children:\"ENABLE_VERCEL_ANALYTICS\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:50,columnNumber:1},this),\" Any truthy value will enable Vercel Analytics. This is turned off by default\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"contributing\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:52,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This repository uses \",(0,r.jsxDEV)(n.code,{children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:54,columnNumber:22},this),` to manage dependencies. Install it using\n`,(0,r.jsxDEV)(n.code,{children:\"npm install -g pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:55,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:54,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Please run \",(0,r.jsxDEV)(n.code,{children:\"pnpm fmt\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:57,columnNumber:12},this),\" before committing to format the code.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:57,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"docs\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#docs\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Docs\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:59,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"Docs in the README are temporary and will be moved to the website soon.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"api\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#api\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"API\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"store-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#store-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Store a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.strong,{children:\"PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:67,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:67,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This endpoint is only meant to store \",(0,r.jsxDEV)(n.strong,{children:\"already encrypted\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:69,columnNumber:38},this),` secrets. The\nencrypted secrets are stored in plain text.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:69,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:72,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You can add optional headers to configure the ttl and number of reads.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:76,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:78,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-ttl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:82,columnNumber:16},this),` header will set a default of 30 days. Disable the\nttl by setting it to 0. (`,(0,r.jsxDEV)(n.code,{children:\"envshare-ttl: 0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:83,columnNumber:28},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-reads\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:84,columnNumber:16},this),` header will simply disable it and allow reading\nfor an unlimited number of times.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:84,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"This endpoint returns a JSON response with the secret id:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:87,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"id\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:110},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:148},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:218},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"ttl\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"86400\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:149},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:190},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"reads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:113},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"2\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:151},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:188},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"expiresAt\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:117},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"2023-01-19T20:47:28.383Z\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:155},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:227},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:7,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"url\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:7,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:7,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:7,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"retrieve-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#retrieve-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this),\"Retrieve a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:101,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You need an id to retrieve a secret. The id is returned when you store a secret.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:103,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:\"$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:105,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:114},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"Hello\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:152},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:205},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"remainingReads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:122},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:160},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:6,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:109,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:n}=l.components||{};return n?(0,r.jsxDEV)(n,Object.assign({},l,{children:(0,r.jsxDEV)(Re,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d23c61c-e97c-4ee3-8335-33f560aa887d.mdx\"},this):Re(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/envshare.mdx", + "_raw": { + "sourceFilePath": "projects/envshare.mdx", + "sourceFileName": "envshare.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/envshare" + }, + "type": "Project", + "path": "/projects/envshare", + "slug": "envshare" + }, + "documentHash": "1679819564284", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/planetfall.mdx": { + "document": { + "published": true, + "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": "\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 h in l)D(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==h&&D(s,m,{get:()=>l[m],enumerable:!(y=lr(l,m))||y.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=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\"),h=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=b(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',b(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,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===l}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?\"):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:()=>br});var F=pr(Ce()),br={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\",published:!0};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-758bf563-6dcf-48e1-946f-f078dd8776dc.mdx\",lineNumber:11,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-758bf563-6dcf-48e1-946f-f078dd8776dc.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-758bf563-6dcf-48e1-946f-f078dd8776dc.mdx\"},this):Oe(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/planetfall.mdx", + "_raw": { + "sourceFilePath": "projects/planetfall.mdx", + "sourceFileName": "planetfall.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/planetfall" + }, + "type": "Project", + "path": "/projects/planetfall", + "slug": "planetfall" + }, + "documentHash": "1679819567844", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/qstash.mdx": { + "document": { + "published": true, + "title": "QStash", + "description": "QStash is a fully managed serverless queue and messaging service designed for the serverless era.", + "date": "2022-07-18T00:00:00.000Z", + "url": "https://upstash.com/qstash", + "body": { + "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 ur=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var B=(l,a)=>()=>(a||l((a={exports:{}}).exports,a),a.exports),hr=(l,a)=>{for(var v in a)F(l,v,{get:a[v],enumerable:!0})},Ee=(l,a,v,y)=>{if(a&&typeof a==\"object\"||typeof a==\"function\")for(let g of lr(a))!dr.call(l,g)&&g!==v&&F(l,g,{get:()=>a[g],enumerable:!(y=cr(a,g))||y.enumerable});return l};var mr=(l,a,v)=>(v=l!=null?ur(fr(l)):{},Ee(a||!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(),a=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 h(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),t=1;t=1&&d>=0&&o[f]!==m[d];)d--;for(;f>=1&&d>=0;f--,d--)if(o[f]!==m[d]){if(f!==1||d!==1)do if(f--,d--,d<0||o[f]!==m[d]){var b=`\n`+o[f].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(f>=1&&d>=0);break}}}finally{M=!1,W.current=u,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 ue(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 ue(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 t=e,s=t._payload,u=t._init;try{return C(u(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ce={},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,t,s){{var u=Function.call.bind(O);for(var i in e)if(u(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var m=Error((t||\"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 m.name=\"Invariant Violation\",m}o=e[i](r,i,t,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){o=f}o&&!(o instanceof Error)&&(D(s),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).\",t||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ce)&&(ce[o.message]=!0,D(s),h(\"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 fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),fe(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},he,me,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]||(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(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){me||(me=!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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,t,s,u,i){var o={$$typeof:a,type:e,key:r,ref:n,props:i,_owner:u};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:t}),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,t,s){{var u,i={},o=null,m=null;n!==void 0&&(de(n),o=\"\"+n),He(r)&&(de(r.key),o=\"\"+r.key),Xe(r)&&(m=r.ref,Ke(r,s));for(u in r)O.call(r,u)&&!Ge.hasOwnProperty(u)&&(i[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)i[u]===void 0&&(i[u]=f[u])}if(o||m){var d=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,d),m&&Ze(i,d)}return er(e,o,m,s,t,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===a}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 tr(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=tr(r);if(pe[n])return;pe[n]=!0;var t=\"\";e&&e._owner&&e._owner!==L.current&&(t=\" It was passed a child from \"+p(e._owner.type)+\".\"),w(e),h('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,t),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?\"):f=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,o)}var d=rr(e,r,n,s,u);if(d==null)return d;if(i){var b=r.children;if(b!==void 0)if(t)if($(b)){for(var x=0;x{\"use strict\";Re.exports=xe()});var gr={};hr(gr,{default:()=>_r,frontmatter:()=>vr});var c=mr(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\",published:!0};function Te(l){let a=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,c.jsxDEV)(c.Fragment,{children:[(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.ul,{children:[`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:17,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.ul,{children:[`\n`,(0,c.jsxDEV)(a.li,{children:\"Works anywhere including serverless and edge.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:27,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,c.jsxDEV)(a.p,{children:[\"To learn more about QStash, visit \",(0,c.jsxDEV)(a.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-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:36,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:36,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:a}=l.components||{};return a?(0,c.jsxDEV)(a,Object.assign({},l,{children:(0,c.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-61138c5e-2f5b-4ef4-b363-6c2819165b19.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": { + "sourceFilePath": "projects/qstash.mdx", + "sourceFileName": "qstash.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/qstash" + }, + "type": "Project", + "path": "/projects/qstash", + "slug": "qstash" + }, + "documentHash": "1679819571089", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/terraform-provider-vercel.mdx": { + "document": { + "published": true, + "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": "\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 dr=Object.create;var S=Object.defineProperty;var cr=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=cr(r,y))||k.enumerable});return l};var hr=(l,r,_)=>(_=l!=null?dr(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 t=J&&e[J]||e[Te];return typeof t==\"function\"?t:null}var x=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(e){{for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o=1&&m>=0&&s[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(s[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||s[u]!==h[m]){var b=`\n`+s[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=c,Ye(),Error.prepareStackTrace=d}var E=e?e.displayName||e.name:\"\",ke=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,ke),ke}function We(e,t,a){return de(e,!1)}function Me(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function C(e,t,a){if(e==null)return\"\";if(typeof e==\"function\")return de(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,t,a);case B:{var o=e,d=o._payload,c=o._init;try{return C(c(d),t,a)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ce={},le=x.ReactDebugCurrentFrame;function P(e){if(e){var t=e._owner,a=C(e.type,e._source,t?t.type:null);le.setExtraStackFrame(a)}else le.setExtraStackFrame(null)}function Le(e,t,a,o,d){{var c=Function.call.bind(O);for(var i in e)if(c(e,i)){var s=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((o||\"React class\")+\": \"+a+\" 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}s=e[i](t,i,o,a,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){s=u}s&&!(s instanceof Error)&&(P(d),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\",a,i,typeof s),P(null)),s instanceof Error&&!(s.message in ce)&&(ce[s.message]=!0,P(d),f(\"Failed %s type: %s\",a,s.message),P(null))}}}var qe=Array.isArray;function $(e){return qe(e)}function Ge(e){{var t=typeof Symbol==\"function\"&&Symbol.toStringTag,a=t&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return a}}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 t=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function He(e){if(O.call(e,\"key\")){var t=Object.getOwnPropertyDescriptor(e,\"key\").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function Je(e,t){if(typeof e.ref==\"string\"&&U.current&&t&&U.current.stateNode!==t){var a=p(U.current.type);W[a]||(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[a]=!0)}}function Ze(e,t){{var a=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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:a,configurable:!0})}}function Qe(e,t){{var a=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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:a,configurable:!0})}}var er=function(e,t,a,o,d,c,i){var s={$$typeof:r,type:e,key:t,ref:a,props:i,_owner:c};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 rr(e,t,a,o,d){{var c,i={},s=null,h=null;a!==void 0&&(me(a),s=\"\"+a),He(t)&&(me(t.key),s=\"\"+t.key),Xe(t)&&(h=t.ref,Je(t,d));for(c in t)O.call(t,c)&&!Ke.hasOwnProperty(c)&&(i[c]=t[c]);if(e&&e.defaultProps){var u=e.defaultProps;for(c in u)i[c]===void 0&&(i[c]=u[c])}if(s||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;s&&Ze(i,m),h&&Qe(i,m)}return er(e,s,h,d,o,U.current,i)}}var M=x.ReactCurrentOwner,be=x.ReactDebugCurrentFrame;function g(e){if(e){var t=e._owner,a=C(e.type,e._source,t?t.type:null);be.setExtraStackFrame(a)}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 t=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),a=e.lineNumber;return`\n\nCheck your code at `+t+\":\"+a+\".\"}return\"\"}}var pe={};function tr(e){{var t=_e();if(!t){var a=typeof e==\"string\"?e:e.displayName||e.name;a&&(t=`\n\nCheck the top-level render call using <`+a+\">.\")}return t}}function Ne(e,t){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var a=tr(t);if(pe[a])return;pe[a]=!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.',a,o),g(null)}}function ye(e,t){{if(typeof e!=\"object\")return;if($(e))for(var a=0;a\",s=\" 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,s)}var m=rr(e,t,a,d,c);if(m==null)return m;if(i){var b=t.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\",published:!0};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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:12,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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:16,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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:39,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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:42,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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:44,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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:44,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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:46,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\",lineNumber:46,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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-1061b8b2-72f1-4a86-9ddd-24268692e20f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1061b8b2-72f1-4a86-9ddd-24268692e20f.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": { + "sourceFilePath": "projects/terraform-provider-vercel.mdx", + "sourceFileName": "terraform-provider-vercel.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/terraform-provider-vercel" + }, + "type": "Project", + "path": "/projects/terraform-provider-vercel", + "slug": "terraform-provider-vercel" + }, + "documentHash": "1679819574612", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-auth-analytics.mdx": { + "document": { + "title": "Upstash Auth Analytics", + "description": "A library to record and analyse Auth.js user behaviour", + "url": "https://console.upstash.com/ratelimit", + "repository": "upstash/auth-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=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)A(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&&A(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?A(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(A({},\"__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\"),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[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 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 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.\",qe(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=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),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 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&&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=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?\"):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 F=pr(we()),br={title:\"Upstash Auth Analytics\",description:\"A library to record and analyse Auth.js user behaviour\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/auth-analytics\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f5a751f2-eec5-45a5-83ae-f09bd8dd78f0.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,F.jsxDEV)(f,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-f5a751f2-eec5-45a5-83ae-f09bd8dd78f0.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f5a751f2-eec5-45a5-83ae-f09bd8dd78f0.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;" + }, + "_id": "projects/upstash-auth-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-auth-analytics.mdx", + "sourceFileName": "upstash-auth-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-auth-analytics" + }, + "type": "Project", + "path": "/projects/upstash-auth-analytics", + "slug": "upstash-auth-analytics" + }, + "documentHash": "1679820070900", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-cli.mdx": { + "document": { + "published": true, + "title": "@upstash/cli", + "description": "A CLI to provision and manage Upstash resources, including Redis and Kafka databases.", + "date": "2022-05-16T00:00:00.000Z", + "url": "https://upstash.com/cli", + "repository": "upstash/cli", + "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 q=(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=q((_r,Re)=>{Re.exports=React});var Ce=q(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\"),K=Symbol.for(\"react.profiler\"),X=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:\"\",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,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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Ke={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 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 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),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Ke.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=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===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:\"@upstash/cli\",description:\"A CLI to provision and manage Upstash resources, including Redis and Kafka databases.\",date:\"2022-05-16\",url:\"https://upstash.com/cli\",repository:\"upstash/cli\",published:!0};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-1f55bee8-27ca-403c-8aef-c0ff586b11d8.mdx\",lineNumber:11,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-1f55bee8-27ca-403c-8aef-c0ff586b11d8.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-1f55bee8-27ca-403c-8aef-c0ff586b11d8.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;" + }, + "_id": "projects/upstash-cli.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-cli.mdx", + "sourceFileName": "upstash-cli.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-cli" + }, + "type": "Project", + "path": "/projects/upstash-cli", + "slug": "upstash-cli" + }, + "documentHash": "1679819580897", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-core-analytics.mdx": { + "document": { + "published": true, + "title": "Upstash Core Analytics", + "description": "Low level utilities to build analytics tools on top of Redis.", + "date": "2023-02-13T00:00:00.000Z", + "url": "https://console.upstash.com/ratelimit", + "repository": "upstash/core-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var F=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 h in l)F(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of cr(l))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(fr(s)):{},_e(l||!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(),l=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 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 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,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 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 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),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 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,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===l}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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"Upstash Core Analytics\",description:\"Low level utilities to build analytics tools on top of Redis.\",date:\"2023-02-13\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/core-analytics\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-71ee98e7-3fa2-4314-af5e-59c6b4033dc5.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-71ee98e7-3fa2-4314-af5e-59c6b4033dc5.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-71ee98e7-3fa2-4314-af5e-59c6b4033dc5.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;" + }, + "_id": "projects/upstash-core-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-core-analytics.mdx", + "sourceFileName": "upstash-core-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-core-analytics" + }, + "type": "Project", + "path": "/projects/upstash-core-analytics", + "slug": "upstash-core-analytics" + }, + "documentHash": "1679819583922", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-edge-flags.mdx": { + "document": { + "published": true, + "title": "@upstash/edge-flags", + "description": "Featues flags for your edge functions.", + "date": "2022-12-12T00:00:00.000Z", + "url": "https://upstash.com/edge-flags", + "repository": "upstash/edge-flags", + "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 q=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var g in f)F(s,g,{get:f[g],enumerable:!0})},_e=(s,f,g,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of cr(f))!dr.call(s,m)&&m!==g&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,g)=>(g=s!=null?sr(lr(s)):{},_e(f||!s||!s.__esModule?F(g,\"default\",{value:s,enumerable:!0}):g,s)),gr=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\"),g=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 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[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 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 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.\",qe(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 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),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 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&&Ze(o,l),v&&Qe(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,ge=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ge.setExtraStackFrame(t)}else ge.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 be={};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(be[t])return;be[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 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:()=>hr});var A=pr(we()),hr={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\",published:!0};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-505af2cc-6871-4879-9946-4df95fa4b1a5.mdx\",lineNumber:11,columnNumber:1},this)}function br(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-505af2cc-6871-4879-9946-4df95fa4b1a5.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-505af2cc-6871-4879-9946-4df95fa4b1a5.mdx\"},this):Pe(s)}var mr=br;return gr(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;" + }, + "_id": "projects/upstash-edge-flags.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-edge-flags.mdx", + "sourceFileName": "upstash-edge-flags.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-edge-flags" + }, + "type": "Project", + "path": "/projects/upstash-edge-flags", + "slug": "upstash-edge-flags" + }, + "documentHash": "1679819586745", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-kafka.mdx": { + "document": { + "published": true, + "title": "@upstash/kafka", + "description": "A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes", + "date": "2022-01-08T00:00:00.000Z", + "url": "https://upstash.com/kafka", + "repository": "upstash/upstash-kafka", + "body": { + "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 mn=Object.create;var P=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var dn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var G=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),bn=(l,e)=>{for(var _ in e)P(l,_,{get:e[_],enumerable:!0})},ye=(l,e,_,x)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let k of dn(e))!hn.call(l,k)&&k!==_&&P(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var fn=(l,e,_)=>(_=l!=null?mn(un(l)):{},ye(e||!l||!l.__esModule?P(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(P({},\"__esModule\",{value:!0}),l);var Ee=G((gn,ge)=>{ge.exports=React});var je=G(q=>{\"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\"),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=l.__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[d]!==b[u];)u--;for(;d>=1&&u>=0;d--,u--)if(s[d]!==b[u]){if(d!==1||u!==1)do if(d--,u--,u<0||s[d]!==b[u]){var f=`\n`+s[d].replace(\" at new \",\" at \");return r.displayName&&f.includes(\"\")&&(f=f.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,f),f}while(d>=1&&u>=0);break}}}finally{W=!1,I.current=m,We(),Error.prepareStackTrace=i}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 ie(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 ie(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,i=o._payload,m=o._init;try{return w(m(i),a,t)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,me={},le=g.ReactDebugCurrentFrame;function B(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,i){{var m=Function.call.bind(S);for(var c in r)if(m(r,c)){var s=void 0;try{if(typeof r[c]!=\"function\"){var b=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 b.name=\"Invariant Violation\",b}s=r[c](a,c,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){s=d}s&&!(s instanceof Error)&&(B(i),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 me)&&(me[s.message]=!0,B(i),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 de(r),!1}catch{return!0}}function de(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)),de(r)}var v=g.ReactCurrentOwner,He={key:!0,ref:!0,__self:!0,__source:!0},he,be,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(){be||(be=!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,i,m,c){var s={$$typeof:e,type:r,key:a,ref:t,props:c,_owner:m};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:i}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s};function nn(r,a,t,o,i){{var m,c={},s=null,b=null;t!==void 0&&(ue(t),s=\"\"+t),Xe(a)&&(ue(a.key),s=\"\"+a.key),ze(a)&&(b=a.ref,Je(a,i));for(m in a)S.call(a,m)&&!He.hasOwnProperty(m)&&(c[m]=a[m]);if(r&&r.defaultProps){var d=r.defaultProps;for(m in d)c[m]===void 0&&(c[m]=d[m])}if(s||b){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,u),b&&Ze(c,u)}return en(r,s,b,i,o,v.current,c)}}var $=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.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?\"):d=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\",d,s)}var u=nn(r,a,t,i,m);if(u==null)return u;if(c){var f=a.children;if(f!==void 0)if(o)if(Y(f)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};bn(xn,{default:()=>kn,frontmatter:()=>pn});var n=fn(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\",published:!0};function Fe(l){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\"},l.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:13,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:12,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:15,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:17,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:18,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:19,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:20,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:21,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:22,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:17,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:25,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:27,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:31,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:33,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:35,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:35,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:36,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:36,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:35,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:38,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:48,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:50,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:62,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:64,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:66,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:82,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:84,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:90,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:101,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:100,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:103,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:105,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:106,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:105,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:108,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:136,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:138,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:138,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:140,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:150,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:152,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:152,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:155,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:157,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:159,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:159,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:160,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:160,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:159,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:162,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:164,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:164,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:166,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:165,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:165,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:167,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:167,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:167,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:168,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:167,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:170,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:167,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:172,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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:172,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:172,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:172,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:164,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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:174,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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.mdx\",lineNumber:176,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-478649a2-2c12-443b-b34a-927444113f41.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-478649a2-2c12-443b-b34a-927444113f41.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-kafka.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-kafka.mdx", + "sourceFileName": "upstash-kafka.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-kafka" + }, + "type": "Project", + "path": "/projects/upstash-kafka", + "slug": "upstash-kafka" + }, + "documentHash": "1679819588795", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-qstash-sdk.mdx": { + "document": { + "published": true, + "title": "@upstash/qstash", + "description": "A typescript client and consumer for QStash.", + "date": "2022-07-18T00:00:00.000Z", + "url": "https://upstash.com/qstash", + "repository": "upstash/sdk-qstash-ts", + "body": { + "raw": "\nTODO:", + "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 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 lr(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(fr(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 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{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,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 qe(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 Be=Array.isArray;function V(e){return Be(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 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.\",Ge(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=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: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&&Qe(o,f),v&&Ze(o,f)}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 q;q=!1;function B(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?\"):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(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:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\",published:!0};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-ae992301-14e5-46cb-a2a7-41d502dd21b1.mdx\",lineNumber:10,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-ae992301-14e5-46cb-a2a7-41d502dd21b1.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-ae992301-14e5-46cb-a2a7-41d502dd21b1.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;" + }, + "_id": "projects/upstash-qstash-sdk.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-qstash-sdk.mdx", + "sourceFileName": "upstash-qstash-sdk.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-qstash-sdk" + }, + "type": "Project", + "path": "/projects/upstash-qstash-sdk", + "slug": "upstash-qstash-sdk" + }, + "documentHash": "1679819591035", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-ratelimit.mdx": { + "document": { + "published": true, + "title": "@upstash/ratelimit", + "description": "Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.", + "date": "2022-06-06T00:00:00.000Z", + "url": "https://upstash.com/ratelimit", + "repository": "upstash/ratelimit", + "body": { + "raw": "\nTODO:", + "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 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 lr(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(fr(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=q((_r,Re)=>{Re.exports=React});var Ce=q(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 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{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,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 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 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 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,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===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?\"):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(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:\"@upstash/ratelimit\",description:\"Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.\",date:\"2022-06-06\",url:\"https://upstash.com/ratelimit\",repository:\"upstash/ratelimit\",published:!0};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-682d6bc1-8f13-4c07-81e8-836d1ced6678.mdx\",lineNumber:11,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-682d6bc1-8f13-4c07-81e8-836d1ced6678.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-682d6bc1-8f13-4c07-81e8-836d1ced6678.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;" + }, + "_id": "projects/upstash-ratelimit.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-ratelimit.mdx", + "sourceFileName": "upstash-ratelimit.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-ratelimit" + }, + "type": "Project", + "path": "/projects/upstash-ratelimit", + "slug": "upstash-ratelimit" + }, + "documentHash": "1679819595280", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-react-ui.mdx": { + "document": { + "published": true, + "title": "React.js CLI", + "description": "A CLI React component to interact with Upstash Redis databases.", + "date": "2023-02-05T00:00:00.000Z", + "url": "https://upstash.com", + "repository": "upstash/react-ui", + "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 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 fr(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(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=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\"),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:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Le(e,r,t){return se(e,!1)}function Ue(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,Ue(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 Le(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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,L;L={};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);L[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),L[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 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 U=_.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(U.current){var e=h(U.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!==U.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?\"):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:()=>hr});var A=pr(we()),hr={title:\"React.js CLI\",description:\"A CLI React component to interact with Upstash Redis databases.\",date:\"2023-02-05\",url:\"https://upstash.com\",repository:\"upstash/react-ui\",published:!0};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-0a7351ab-37c7-4470-a4f2-2cac6db56cb8.mdx\",lineNumber:11,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-0a7351ab-37c7-4470-a4f2-2cac6db56cb8.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0a7351ab-37c7-4470-a4f2-2cac6db56cb8.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;" + }, + "_id": "projects/upstash-react-ui.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-react-ui.mdx", + "sourceFileName": "upstash-react-ui.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-react-ui" + }, + "type": "Project", + "path": "/projects/upstash-react-ui", + "slug": "upstash-react-ui" + }, + "documentHash": "1679819598600", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-redis.mdx": { + "document": { + "published": true, + "title": "@upstash/redis", + "description": "A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.", + "date": "2022-03-14T00:00:00.000Z", + "url": "https://upstash.com/redis", + "repository": "upstash/upstash-redis", + "body": { + "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,hn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),bn=(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))!hn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var fn=(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 h(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&u>=0&&c[m]!==b[u];)u--;for(;m>=1&&u>=0;m--,u--)if(c[m]!==b[u]){if(m!==1||u!==1)do if(m--,u--,u<0||c[m]!==b[u]){var f=`\n`+c[m].replace(\" at new \",\" at \");return r.displayName&&f.includes(\"\")&&(f=f.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,f),f}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 s in r)if(i(r,s)){var c=void 0;try{if(typeof r[s]!=\"function\"){var b=Error((o||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw b.name=\"Invariant Violation\",b}c=r[s](a,s,o,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){c=m}c&&!(c instanceof Error)&&(P(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,s,typeof c),P(null)),c instanceof Error&&!(c.message in ie)&&(ie[c.message]=!0,P(d),h(\"Failed %s type: %s\",t,c.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 h(\"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},he,be,$;$={};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]||(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),$[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(){be||(be=!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,s){var c={$$typeof:e,type:r,key:a,ref:t,props:s,_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:d}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c};function nn(r,a,t,o,d){{var i,s={},c=null,b=null;t!==void 0&&(ue(t),c=\"\"+t),Xe(a)&&(ue(a.key),c=\"\"+a.key),Ke(a)&&(b=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(s[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)s[i]===void 0&&(s[i]=m[i])}if(c||b){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;c&&Qe(s,u),b&&Ze(s,u)}return en(r,c,b,d,o,v.current,s)}}var M=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.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),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\",c=\" Did you accidentally export a JSX literal instead of a component?\"):m=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\",m,c)}var u=nn(r,a,t,d,i);if(u==null)return u;if(s){var f=a.children;if(f!==void 0)if(o)if(Y(f)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};bn(xn,{default:()=>kn,frontmatter:()=>pn});var n=fn(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\",published:!0};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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:12,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:13,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:12,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:15,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:17,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:19,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:18,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:21,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:20,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:22,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:23,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:24,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:25,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:17,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:28,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:27,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:31,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:33,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:35,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:37,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:41,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:43,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:47,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:49,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:49,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:51,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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\",lineNumber:53,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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-0d630033-ac38-4a92-8b12-ba7c8fd91140.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-0d630033-ac38-4a92-8b12-ba7c8fd91140.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": { + "sourceFilePath": "projects/upstash-redis.mdx", + "sourceFileName": "upstash-redis.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-redis" + }, + "type": "Project", + "path": "/projects/upstash-redis", + "slug": "upstash-redis" + }, + "documentHash": "1679819604294", + "hasWarnings": false, + "documentTypeName": "Project" + }, + "projects/upstash-web-analytics.mdx": { + "document": { + "published": true, + "title": "Upstash Web Analytics", + "description": "A library to record and analyse web page traffic and user behaviour", + "repository": "upstash/web-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var A=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)A(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&&A(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?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 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\"),W=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{M=!1,$.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 W: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 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 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(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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(we()),hr={title:\"Upstash Web Analytics\",description:\"A library to record and analyse web page traffic and user behaviour\",repository:\"upstash/web-analytics\",published:!0};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-239c4544-e22d-4f40-b854-803d8a41d708.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,F.jsxDEV)(c,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-239c4544-e22d-4f40-b854-803d8a41d708.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-239c4544-e22d-4f40-b854-803d8a41d708.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;" + }, + "_id": "projects/upstash-web-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-web-analytics.mdx", + "sourceFileName": "upstash-web-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-web-analytics" + }, + "type": "Project", + "path": "/projects/upstash-web-analytics", + "slug": "upstash-web-analytics" + }, + "documentHash": "1679820082861", + "hasWarnings": false, + "documentTypeName": "Project" + } + } +} diff --git a/.contentlayer/generated/Project/_index.json b/.contentlayer/generated/Project/_index.json index a0c35f1..1da1416 100644 --- a/.contentlayer/generated/Project/_index.json +++ b/.contentlayer/generated/Project/_index.json @@ -1,12 +1,13 @@ [ { + "published": true, "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.", "date": "2022-11-13T00:00:00.000Z", "repository": "chronark/access", "body": { "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 h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var F=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),N=(l,e)=>{for(var s in e)a(l,s,{get:e[s],enumerable:!0})},o=(l,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let c of y(e))!m.call(l,c)&&c!==s&&a(l,c,{get:()=>e[c],enumerable:!(r=p(e,c))||r.enumerable});return l};var u=(l,e,s)=>(s=l!=null?h(E(l)):{},o(e||!l||!l.__esModule?a(s,\"default\",{value:l,enumerable:!0}):s,l)),f=l=>o(a({},\"__esModule\",{value:!0}),l);var t=F((v,i)=>{i.exports=_jsx_runtime});var B={};N(B,{default:()=>D,frontmatter:()=>g});var n=u(t()),g={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 d(l){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},l.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(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.\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:\"Fully typed\"}),`\n`,(0,n.jsx)(e.li,{children:\"Zero dependencies\"}),`\n`,(0,n.jsx)(e.li,{children:\"Serializable to store in a database\"}),`\n`]}),`\n`,(0,n.jsxs)(e.h2,{id:\"install\",children:[(0,n.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,n.jsx)(e.span,{className:\"icon icon-link\"})}),\"Install\"]}),`\n`,(0,n.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsx)(e.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,n.jsx)(e.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#e1e4e8\"},children:\"npm i @chronark/access\"})})})})}),`\n`,(0,n.jsxs)(e.h2,{id:\"usage\",children:[(0,n.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#usage\",children:(0,n.jsx)(e.span,{className:\"icon icon-link\"})}),\"Usage\"]}),`\n`,(0,n.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsx)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxs)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { AccessControl, Role } \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@chronark/access\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Define all your resources and their access patterns\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * key => resource\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * value => array of access types\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"type\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\"user\"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\":\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"dance\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\"team\"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\":\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"};\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Create an access control instance and pass the Statements type to enjoy full\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * type safety\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"ac\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"new\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"AccessControl\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">();\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Now you can define one or more roles by specifying the access permissions\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * This is already fully typed and typescript will let you know if you try to\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * use anything, that is not defined in the Statements type.\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"role\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" ac.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"newRole\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" user: [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" team: [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Simulate storing and retrieving the role in a database\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * The idea here is, that you can store permissions alongside an API token.\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Now, when you verify the token, you can also verify the access permissions.\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"serialized\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" role.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"toString\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"();\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Note how you can pass in the Statements type again, to get full type safety\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"recovered\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" Role.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"fromString\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">(serialized);\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Validate the role by specifying the resource and the required access\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * everything is fully typed\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" recovered.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"authorize\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"team\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"]});\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// res.success => boolean\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// res.error => string | undefined provides a reason for failure\"})})]})})})]})}function A(l={}){let{wrapper:e}=l.components||{};return e?(0,n.jsx)(e,Object.assign({},l,{children:(0,n.jsx)(d,l)})):d(l)}var D=A;return f(B);})();\n;return Component;" + "code": "var Component=(()=>{var sn=Object.create;var S=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var z=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(l,e)=>{for(var _ in e)S(l,_,{get:e[_],enumerable:!0})},xe=(l,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of mn(e))!fn.call(l,y)&&y!==_&&S(l,y,{get:()=>e[y],enumerable:!(k=ln(e,y))||k.enumerable});return l};var bn=(l,e,_)=>(_=l!=null?sn(un(l)):{},xe(e||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>xe(S({},\"__esModule\",{value:!0}),l);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var l=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=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(n){{for(var a=arguments.length,d=new Array(a>1?a-1:0),c=1;c=1&&u>=0&&t[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(t[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||t[m]!==h[u]){var b=`\n`+t[m].replace(\" at new \",\" at \");return n.displayName&&b.includes(\"\")&&(b=b.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,b),b}while(m>=1&&u>=0);break}}}finally{$=!1,I.current=i,$e(),Error.prepareStackTrace=s}var j=n?n.displayName||n.name:\"\",ke=j?C(j):\"\";return typeof n==\"function\"&&D.set(n,ke),ke}function Ve(n,a,d){return se(n,!1)}function Me(n){var a=n.prototype;return!!(a&&a.isReactComponent)}function w(n,a,d){if(n==null)return\"\";if(typeof n==\"function\")return se(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,d);case B:{var c=n,s=c._payload,i=c._init;try{return w(i(s),a,d)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,d=w(n.type,n._source,a?a.type:null);le.setExtraStackFrame(d)}else le.setExtraStackFrame(null)}function Le(n,a,d,c,s){{var i=Function.call.bind(T);for(var o in n)if(i(n,o)){var t=void 0;try{if(typeof n[o]!=\"function\"){var h=Error((c||\"React class\")+\": \"+d+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}t=n[o](a,o,c,d,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){t=m}t&&!(t instanceof Error)&&(A(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).\",c||\"React class\",d,o,typeof t),A(null)),t instanceof Error&&!(t.message in ie)&&(ie[t.message]=!0,A(s),f(\"Failed %s type: %s\",d,t.message),A(null))}}}var qe=Array.isArray;function W(n){return qe(n)}function ze(n){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,d=a&&n[Symbol.toStringTag]||n.constructor.name||\"Object\";return d}}function Ge(n){try{return me(n),!1}catch{return!0}}function me(n){return\"\"+n}function ue(n){if(Ge(n))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),me(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},fe,he,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 d=p(v.current.type);V[d]||(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(v.current.type),n.ref),V[d]=!0)}}function Je(n,a){{var d=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))};d.isReactWarning=!0,Object.defineProperty(n,\"key\",{get:d,configurable:!0})}}function Qe(n,a){{var d=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))};d.isReactWarning=!0,Object.defineProperty(n,\"ref\",{get:d,configurable:!0})}}var en=function(n,a,d,c,s,i,o){var t={$$typeof:e,type:n,key:a,ref:d,props:o,_owner:i};return t._store={},Object.defineProperty(t._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(t,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.defineProperty(t,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t};function nn(n,a,d,c,s){{var i,o={},t=null,h=null;d!==void 0&&(ue(d),t=\"\"+d),He(a)&&(ue(a.key),t=\"\"+a.key),Ke(a)&&(h=a.ref,Ze(a,s));for(i in a)T.call(a,i)&&!Xe.hasOwnProperty(i)&&(o[i]=a[i]);if(n&&n.defaultProps){var m=n.defaultProps;for(i in m)o[i]===void 0&&(o[i]=m[i])}if(t||h){var u=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;t&&Je(o,u),h&&Qe(o,u)}return en(n,t,h,s,c,v.current,o)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,d=w(n.type,n._source,a?a.type:null);be.setExtraStackFrame(d)}else be.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(/^.*[\\\\\\/]/,\"\"),d=n.lineNumber;return`\n\nCheck your code at `+a+\":\"+d+\".\"}return\"\"}}var pe={};function an(n){{var a=_e();if(!a){var d=typeof n==\"string\"?n:n.displayName||n.name;d&&(a=`\n\nCheck the top-level render call using <`+d+\">.\")}return a}}function Ne(n,a){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var d=an(a);if(pe[d])return;pe[d]=!0;var c=\"\";n&&n._owner&&n._owner!==M.current&&(c=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,c),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var d=0;d\",t=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof n,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,t)}var u=nn(n,a,d,s,i);if(u==null)return u;if(o){var b=a.children;if(b!==void 0)if(c)if(W(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};hn(kn,{default:()=>yn,frontmatter:()=>pn});var r=bn(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\",published:!0};function Fe(l){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},l.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:9,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:12,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:13,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:15,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:17,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:21,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:23,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},l,{children:(0,r.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this):Fe(l)}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": { @@ -21,6 +22,7 @@ "slug": "access" }, { + "published": true, "title": "envshare.dev", "description": "EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.", "date": "2023-01-16T00:00:00.000Z", @@ -28,7 +30,7 @@ "repository": "chronark/envshare", "body": { "raw": "\nEnvShare is a simple tool to share environment variables securely. It uses\n**AES-GCM** to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.\n\n## Features\n\n- **Shareable Links:** Share your environment variables securely by sending a\n link\n- **End-to-End Encryption:** AES-GCM encryption is used to encrypt your data\n before sending it to the server\n- **Limit number of reads:** Limit the number of times a link can be read\n- **Auto Expire:** Automatically expire links and delete data after a certain\n time\n\n\n\n![](https://github.com/chronark/envshare/raw/main/img/envshare.png)\n\n## Built with\n\n- [Next.js](https://nextjs.org)\n- [tailwindcss](https://tailwindcss.com)\n- Deployed on [Vercel](https://vercel.com?utm_source=envshare)\n- Data stored on [Upstash](https://upstash.com?utm_source=envshare)\n\n## Deploy your own\n\nDetailed instructions can be found [here](https://envshare.dev/deploy)\n\nAll you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)\n\n\n\n## Configuration\n\n### Environment Variables\n\n`ENABLE_VERCEL_ANALYTICS` Any truthy value will enable Vercel Analytics. This is turned off by default\n\n## Contributing\n\nThis repository uses `pnpm` to manage dependencies. Install it using\n`npm install -g pnpm`\n\nPlease run `pnpm fmt` before committing to format the code.\n\n## Docs\n\nDocs in the README are temporary and will be moved to the website soon.\n\n### API\n\n#### Store a secret\n\n**PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.**\n\nThis endpoint is only meant to store **already encrypted** secrets. The\nencrypted secrets are stored in plain text.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"\n```\n\nYou can add optional headers to configure the ttl and number of reads.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"\n```\n\n- Omitting the `envshare-ttl` header will set a default of 30 days. Disable the\n ttl by setting it to 0. (`envshare-ttl: 0`)\n- Omitting the `envshare-reads` header will simply disable it and allow reading\n for an unlimited number of times.\n\nThis endpoint returns a JSON response with the secret id:\n\n```json\n{\n \"data\": {\n \"id\": \"HdPbXgpvUvNk43oxSdK97u\",\n \"ttl\": 86400,\n \"reads\": 2,\n \"expiresAt\": \"2023-01-19T20:47:28.383Z\",\n \"url\": \"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"\n }\n}\n```\n\n#### Retrieve a secret\n\nYou need an id to retrieve a secret. The id is returned when you store a secret.\n\n```sh-session\n$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\n```\n\n```json\n{\n \"data\": {\n \"secret\": \"Hello\",\n \"remainingReads\": 1\n }\n}\n```", - "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var X=(l,n)=>()=>(n||l((n={exports:{}}).exports,n),n.exports),bn=(l,n)=>{for(var _ in n)O(l,_,{get:n[_],enumerable:!0})},ye=(l,n,_,x)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let k of un(n))!hn.call(l,k)&&k!==_&&O(l,k,{get:()=>n[k],enumerable:!(x=ln(n,k))||x.enumerable});return l};var fn=(l,n,_)=>(_=l!=null?dn(mn(l)):{},ye(n||!l||!l.__esModule?O(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(O({},\"__esModule\",{value:!0}),l);var ve=X((gn,ge)=>{ge.exports=React});var Ee=X(H=>{\"use strict\";(function(){\"use strict\";var l=ve(),n=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),q=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),z=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\"),L=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 g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),c=1;c=1&&m>=0&&o[u]!==b[m];)m--;for(;u>=1&&m>=0;u--,m--)if(o[u]!==b[m]){if(u!==1||m!==1)do if(u--,m--,m<0||o[u]!==b[m]){var f=`\n`+o[u].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,f),f}while(u>=1&&m>=0);break}}}finally{V=!1,I.current=d,Ve(),Error.prepareStackTrace=i}var E=e?e.displayName||e.name:\"\",xe=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,xe),xe}function $e(e,a,t){return ie(e,!1)}function Me(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function S(e,a,t){if(e==null)return\"\";if(typeof e==\"function\")return ie(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 $e(e.render);case F:return S(e.type,a,t);case L:{var c=e,i=c._payload,d=c._init;try{return S(d(i),a,t)}catch{}}}return\"\"}var C=Object.prototype.hasOwnProperty,de={},le=g.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=S(e.type,e._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function We(e,a,t,c,i){{var d=Function.call.bind(C);for(var s in e)if(d(e,s)){var o=void 0;try{if(typeof e[s]!=\"function\"){var b=Error((c||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw b.name=\"Invariant Violation\",b}o=e[s](a,s,c,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){o=u}o&&!(o instanceof Error)&&(P(i),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).\",c||\"React class\",t,s,typeof o),P(null)),o instanceof Error&&!(o.message in de)&&(de[o.message]=!0,P(i),h(\"Failed %s type: %s\",t,o.message),P(null))}}}var Ge=Array.isArray;function Y(e){return Ge(e)}function Xe(e){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function He(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(He(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Xe(e)),ue(e)}var U=g.ReactCurrentOwner,qe={key:!0,ref:!0,__self:!0,__source:!0},he,be,$;$={};function Ke(e){if(C.call(e,\"ref\")){var a=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(C.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);$[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(U.current.type),e.ref),$[t]=!0)}}function Ze(e,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(e,\"key\",{get:t,configurable:!0})}}function Qe(e,a){{var t=function(){be||(be=!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(e,\"ref\",{get:t,configurable:!0})}}var en=function(e,a,t,c,i,d,s){var o={$$typeof:n,type:e,key:a,ref:t,props:s,_owner:d};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:c}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(e,a,t,c,i){{var d,s={},o=null,b=null;t!==void 0&&(me(t),o=\"\"+t),ze(a)&&(me(a.key),o=\"\"+a.key),Ke(a)&&(b=a.ref,Je(a,i));for(d in a)C.call(a,d)&&!qe.hasOwnProperty(d)&&(s[d]=a[d]);if(e&&e.defaultProps){var u=e.defaultProps;for(d in u)s[d]===void 0&&(s[d]=u[d])}if(o||b){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Ze(s,m),b&&Qe(s,m)}return en(e,o,b,i,c,U.current,s)}}var M=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function v(e){if(e){var a=e._owner,t=S(e.type,e._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}var W;W=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===n}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function rn(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 an(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=an(a);if(pe[t])return;pe[t]=!0;var c=\"\";e&&e._owner&&e._owner!==M.current&&(c=\" It was passed a child from \"+p(e._owner.type)+\".\"),v(e),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,c),v(null)}}function ke(e,a){{if(typeof e!=\"object\")return;if(Y(e))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,o)}var m=nn(e,a,t,i,d);if(m==null)return m;if(s){var f=a.children;if(f!==void 0)if(c)if(Y(f)){for(var E=0;E{\"use strict\";je.exports=Ee()});var xn={};bn(xn,{default:()=>kn,frontmatter:()=>pn});var r=fn(Ue()),pn={title:\"envshare.dev\",description:\"EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.\",date:\"2023-01-16\",url:\"https://envshare.dev\",repository:\"chronark/envshare\"};function Re(l){let n=Object.assign({p:\"p\",strong:\"strong\",h2:\"h2\",a:\"a\",span:\"span\",ul:\"ul\",li:\"li\",img:\"img\",h3:\"h3\",code:\"code\",h4:\"h4\",div:\"div\",pre:\"pre\"},l.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(n.p,{children:[`EnvShare is a simple tool to share environment variables securely. It uses\n`,(0,r.jsxDEV)(n.strong,{children:\"AES-GCM\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:11,columnNumber:1},this),` to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"features\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#features\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Features\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Shareable Links:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:16,columnNumber:3},this),` Share your environment variables securely by sending a\nlink`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"End-to-End Encryption:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:18,columnNumber:3},this),` AES-GCM encryption is used to encrypt your data\nbefore sending it to the server`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Limit number of reads:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:20,columnNumber:3},this),\" Limit the number of times a link can be read\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Auto Expire:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:21,columnNumber:3},this),` Automatically expire links and delete data after a certain\ntime`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.img,{src:\"https://github.com/chronark/envshare/raw/main/img/envshare.png\",alt:\"\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:26,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"built-with\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#built-with\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Built with\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://nextjs.org\",children:\"Next.js\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:30,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://tailwindcss.com\",children:\"tailwindcss\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:31,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Deployed on \",(0,r.jsxDEV)(n.a,{href:\"https://vercel.com?utm_source=envshare\",children:\"Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:32,columnNumber:15},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Data stored on \",(0,r.jsxDEV)(n.a,{href:\"https://upstash.com?utm_source=envshare\",children:\"Upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:33,columnNumber:18},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:33,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"deploy-your-own\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deploy-your-own\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Deploy your own\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Detailed instructions can be found \",(0,r.jsxDEV)(n.a,{href:\"https://envshare.dev/deploy\",children:\"here\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:37,columnNumber:36},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:`All you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.a,{href:\"https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17\",children:(0,r.jsxDEV)(n.img,{src:\"https://vercel.com/button\",alt:\"Deploy with Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:42,columnNumber:2},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:42,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"configuration\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#configuration\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Configuration\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"environment-variables\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#environment-variables\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Environment Variables\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[(0,r.jsxDEV)(n.code,{children:\"ENABLE_VERCEL_ANALYTICS\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:50,columnNumber:1},this),\" Any truthy value will enable Vercel Analytics. This is turned off by default\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"contributing\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:52,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This repository uses \",(0,r.jsxDEV)(n.code,{children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:54,columnNumber:22},this),` to manage dependencies. Install it using\n`,(0,r.jsxDEV)(n.code,{children:\"npm install -g pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:55,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:54,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Please run \",(0,r.jsxDEV)(n.code,{children:\"pnpm fmt\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:57,columnNumber:12},this),\" before committing to format the code.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:57,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"docs\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#docs\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Docs\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:59,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"Docs in the README are temporary and will be moved to the website soon.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"api\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#api\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"API\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"store-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#store-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Store a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.strong,{children:\"PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:67,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:67,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This endpoint is only meant to store \",(0,r.jsxDEV)(n.strong,{children:\"already encrypted\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:69,columnNumber:38},this),` secrets. The\nencrypted secrets are stored in plain text.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:69,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:72,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You can add optional headers to configure the ttl and number of reads.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:76,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:78,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-ttl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:82,columnNumber:16},this),` header will set a default of 30 days. Disable the\nttl by setting it to 0. (`,(0,r.jsxDEV)(n.code,{children:\"envshare-ttl: 0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:83,columnNumber:28},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-reads\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:84,columnNumber:16},this),` header will simply disable it and allow reading\nfor an unlimited number of times.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:84,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"This endpoint returns a JSON response with the secret id:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:87,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"id\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:110},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:148},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:218},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"ttl\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"86400\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:149},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:190},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"reads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:113},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"2\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:151},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:188},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"expiresAt\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:117},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"2023-01-19T20:47:28.383Z\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:155},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:227},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"url\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"retrieve-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#retrieve-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Retrieve a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:101,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You need an id to retrieve a secret. The id is returned when you store a secret.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:103,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:\"$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:105,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:114},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"Hello\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:152},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:205},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"remainingReads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:122},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:160},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:109,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:n}=l.components||{};return n?(0,r.jsxDEV)(n,Object.assign({},l,{children:(0,r.jsxDEV)(Re,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this):Re(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;" + "code": "var Component=(()=>{var ln=Object.create;var O=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var X=(d,n)=>()=>(n||d((n={exports:{}}).exports,n),n.exports),hn=(d,n)=>{for(var _ in n)O(d,_,{get:n[_],enumerable:!0})},ye=(d,n,_,x)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let k of un(n))!bn.call(d,k)&&k!==_&&O(d,k,{get:()=>n[k],enumerable:!(x=dn(n,k))||x.enumerable});return d};var fn=(d,n,_)=>(_=d!=null?ln(mn(d)):{},ye(n||!d||!d.__esModule?O(_,\"default\",{value:d,enumerable:!0}):_,d)),_n=d=>ye(O({},\"__esModule\",{value:!0}),d);var ve=X((gn,ge)=>{ge.exports=React});var Ee=X(H=>{\"use strict\";(function(){\"use strict\";var d=ve(),n=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),q=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),z=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\"),L=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 t=J&&e[J]||e[Te];return typeof t==\"function\"?t:null}var g=d.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(e){{for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o=1&&m>=0&&s[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(s[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||s[u]!==h[m]){var f=`\n`+s[u].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,f),f}while(u>=1&&m>=0);break}}}finally{V=!1,I.current=l,Ve(),Error.prepareStackTrace=c}var E=e?e.displayName||e.name:\"\",xe=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,xe),xe}function $e(e,t,a){return ce(e,!1)}function Me(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function S(e,t,a){if(e==null)return\"\";if(typeof e==\"function\")return ce(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 $e(e.render);case F:return S(e.type,t,a);case L:{var o=e,c=o._payload,l=o._init;try{return S(l(c),t,a)}catch{}}}return\"\"}var C=Object.prototype.hasOwnProperty,le={},de=g.ReactDebugCurrentFrame;function P(e){if(e){var t=e._owner,a=S(e.type,e._source,t?t.type:null);de.setExtraStackFrame(a)}else de.setExtraStackFrame(null)}function We(e,t,a,o,c){{var l=Function.call.bind(C);for(var i in e)if(l(e,i)){var s=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((o||\"React class\")+\": \"+a+\" 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}s=e[i](t,i,o,a,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){s=u}s&&!(s instanceof Error)&&(P(c),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\",a,i,typeof s),P(null)),s instanceof Error&&!(s.message in le)&&(le[s.message]=!0,P(c),b(\"Failed %s type: %s\",a,s.message),P(null))}}}var Ge=Array.isArray;function Y(e){return Ge(e)}function Xe(e){{var t=typeof Symbol==\"function\"&&Symbol.toStringTag,a=t&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return a}}function He(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(He(e))return b(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Xe(e)),ue(e)}var U=g.ReactCurrentOwner,qe={key:!0,ref:!0,__self:!0,__source:!0},be,he,$;$={};function Ke(e){if(C.call(e,\"ref\")){var t=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(C.call(e,\"key\")){var t=Object.getOwnPropertyDescriptor(e,\"key\").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function Je(e,t){if(typeof e.ref==\"string\"&&U.current&&t&&U.current.stateNode!==t){var a=p(U.current.type);$[a]||(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(U.current.type),e.ref),$[a]=!0)}}function Ze(e,t){{var a=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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:a,configurable:!0})}}function Qe(e,t){{var a=function(){he||(he=!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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:a,configurable:!0})}}var en=function(e,t,a,o,c,l,i){var s={$$typeof:n,type:e,key:t,ref:a,props:i,_owner:l};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(e,t,a,o,c){{var l,i={},s=null,h=null;a!==void 0&&(me(a),s=\"\"+a),ze(t)&&(me(t.key),s=\"\"+t.key),Ke(t)&&(h=t.ref,Je(t,c));for(l in t)C.call(t,l)&&!qe.hasOwnProperty(l)&&(i[l]=t[l]);if(e&&e.defaultProps){var u=e.defaultProps;for(l in u)i[l]===void 0&&(i[l]=u[l])}if(s||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;s&&Ze(i,m),h&&Qe(i,m)}return en(e,s,h,c,o,U.current,i)}}var M=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function v(e){if(e){var t=e._owner,a=S(e.type,e._source,t?t.type:null);fe.setExtraStackFrame(a)}else fe.setExtraStackFrame(null)}var W;W=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===n}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function rn(e){{if(e!==void 0){var t=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),a=e.lineNumber;return`\n\nCheck your code at `+t+\":\"+a+\".\"}return\"\"}}var pe={};function tn(e){{var t=_e();if(!t){var a=typeof e==\"string\"?e:e.displayName||e.name;a&&(t=`\n\nCheck the top-level render call using <`+a+\">.\")}return t}}function Ne(e,t){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var a=tn(t);if(pe[a])return;pe[a]=!0;var o=\"\";e&&e._owner&&e._owner!==M.current&&(o=\" It was passed a child from \"+p(e._owner.type)+\".\"),v(e),b('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',a,o),v(null)}}function ke(e,t){{if(typeof e!=\"object\")return;if(Y(e))for(var a=0;a\",s=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,b(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,s)}var m=nn(e,t,a,c,l);if(m==null)return m;if(i){var f=t.children;if(f!==void 0)if(o)if(Y(f)){for(var E=0;E{\"use strict\";je.exports=Ee()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var r=fn(Ue()),pn={title:\"envshare.dev\",description:\"EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.\",date:\"2023-01-16\",url:\"https://envshare.dev\",repository:\"chronark/envshare\",published:!0};function Re(d){let n=Object.assign({p:\"p\",strong:\"strong\",h2:\"h2\",a:\"a\",span:\"span\",ul:\"ul\",li:\"li\",img:\"img\",h3:\"h3\",code:\"code\",h4:\"h4\",div:\"div\",pre:\"pre\"},d.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(n.p,{children:[`EnvShare is a simple tool to share environment variables securely. It uses\n`,(0,r.jsxDEV)(n.strong,{children:\"AES-GCM\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:11,columnNumber:1},this),` to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"features\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#features\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Features\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Shareable Links:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:3},this),` Share your environment variables securely by sending a\nlink`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"End-to-End Encryption:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:18,columnNumber:3},this),` AES-GCM encryption is used to encrypt your data\nbefore sending it to the server`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Limit number of reads:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:20,columnNumber:3},this),\" Limit the number of times a link can be read\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Auto Expire:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:21,columnNumber:3},this),` Automatically expire links and delete data after a certain\ntime`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.img,{src:\"https://github.com/chronark/envshare/raw/main/img/envshare.png\",alt:\"\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:26,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"built-with\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#built-with\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Built with\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://nextjs.org\",children:\"Next.js\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://tailwindcss.com\",children:\"tailwindcss\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:31,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Deployed on \",(0,r.jsxDEV)(n.a,{href:\"https://vercel.com?utm_source=envshare\",children:\"Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:32,columnNumber:15},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Data stored on \",(0,r.jsxDEV)(n.a,{href:\"https://upstash.com?utm_source=envshare\",children:\"Upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:33,columnNumber:18},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:33,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"deploy-your-own\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deploy-your-own\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Deploy your own\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Detailed instructions can be found \",(0,r.jsxDEV)(n.a,{href:\"https://envshare.dev/deploy\",children:\"here\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:37,columnNumber:36},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:`All you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.a,{href:\"https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17\",children:(0,r.jsxDEV)(n.img,{src:\"https://vercel.com/button\",alt:\"Deploy with Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:2},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"configuration\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#configuration\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Configuration\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"environment-variables\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#environment-variables\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Environment Variables\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[(0,r.jsxDEV)(n.code,{children:\"ENABLE_VERCEL_ANALYTICS\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:50,columnNumber:1},this),\" Any truthy value will enable Vercel Analytics. This is turned off by default\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"contributing\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:52,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This repository uses \",(0,r.jsxDEV)(n.code,{children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:54,columnNumber:22},this),` to manage dependencies. Install it using\n`,(0,r.jsxDEV)(n.code,{children:\"npm install -g pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:55,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:54,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Please run \",(0,r.jsxDEV)(n.code,{children:\"pnpm fmt\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:57,columnNumber:12},this),\" before committing to format the code.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:57,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"docs\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#docs\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Docs\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:59,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"Docs in the README are temporary and will be moved to the website soon.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"api\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#api\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"API\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"store-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#store-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Store a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.strong,{children:\"PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:67,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:67,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This endpoint is only meant to store \",(0,r.jsxDEV)(n.strong,{children:\"already encrypted\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:69,columnNumber:38},this),` secrets. The\nencrypted secrets are stored in plain text.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:69,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:72,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You can add optional headers to configure the ttl and number of reads.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:76,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:78,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-ttl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:16},this),` header will set a default of 30 days. Disable the\nttl by setting it to 0. (`,(0,r.jsxDEV)(n.code,{children:\"envshare-ttl: 0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:83,columnNumber:28},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-reads\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:84,columnNumber:16},this),` header will simply disable it and allow reading\nfor an unlimited number of times.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:84,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"This endpoint returns a JSON response with the secret id:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:87,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"id\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:110},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:148},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:218},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"ttl\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"86400\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:149},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:190},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"reads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:113},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"2\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:151},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:188},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"expiresAt\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:117},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"2023-01-19T20:47:28.383Z\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:155},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:227},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"url\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"retrieve-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#retrieve-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Retrieve a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:101,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You need an id to retrieve a secret. The id is returned when you store a secret.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:103,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:\"$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:105,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:114},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"Hello\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:152},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:205},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"remainingReads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:122},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:160},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:109,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(d={}){let{wrapper:n}=d.components||{};return n?(0,r.jsxDEV)(n,Object.assign({},d,{children:(0,r.jsxDEV)(Re,d,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this):Re(d)}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/envshare.mdx", "_raw": { @@ -43,13 +45,14 @@ "slug": "envshare" }, { + "published": true, "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.", + "description": "I'm building a SAAS providing 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": "\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 c=Object.create;var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var w=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),h=(o,t)=>{for(var n in t)a(o,n,{get:t[n],enumerable:!0})},l=(o,t,n,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let e of m(t))!p.call(o,e)&&e!==n&&a(o,e,{get:()=>t[e],enumerable:!(i=f(t,e))||i.enumerable});return o};var g=(o,t,n)=>(n=o!=null?c(y(o)):{},l(t||!o||!o.__esModule?a(n,\"default\",{value:o,enumerable:!0}):n,o)),b=o=>l(a({},\"__esModule\",{value:!0}),o);var d=w((j,s)=>{s.exports=_jsx_runtime});var I={};h(I,{default:()=>v,frontmatter:()=>A});var r=g(d()),A={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 u(o){let t=Object.assign({p:\"p\"},o.components);return(0,r.jsx)(t.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.\"})}function x(o={}){let{wrapper:t}=o.components||{};return t?(0,r.jsx)(t,Object.assign({},o,{children:(0,r.jsx)(u,o)})):u(o)}var v=x;return b(I);})();\n;return Component;" + "raw": "\n\nPlanetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world. \nPlanetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.", + "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 h in l)D(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let b of fr(l))!dr.call(s,b)&&b!==h&&D(s,b,{get:()=>l[b],enumerable:!(y=lr(l,b))||y.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=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\"),h=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),b=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),W=Symbol.for(\"react.suspense_list\"),O=Symbol.for(\"react.memo\"),Y=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&&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,$.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 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 W:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case C:return Ue(e.render);case O:return k(e.type,r,t);case Y:{var n=e,i=n._payload,u=n._init;try{return k(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,le={},fe=_.ReactDebugCurrentFrame;function A(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)&&(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,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(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 Ke(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\"&&P.current&&r&&P.current.stateNode!==r){var t=m(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',m(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),He(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 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,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 G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function me(){{if(L.current){var e=m(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=me();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 be(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 \"+m(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:()=>br,frontmatter:()=>mr});var F=pr(Ce()),mr={title:\"planetfall.io\",description:\"I'm building a SAAS providing 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\",published:!0};function Oe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:`Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world.\nPlanetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\",lineNumber:11,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-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\"},this):Oe(s)}var br=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/planetfall.mdx", "_raw": { @@ -64,13 +67,14 @@ "slug": "planetfall" }, { + "published": true, "title": "QStash", "description": "QStash is a fully managed serverless queue and messaging service designed for the serverless era.", "date": "2022-07-18T00:00:00.000Z", "url": "https://upstash.com/qstash", "body": { "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 d=Object.create;var r=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var g=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),v=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},o=(n,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of m(e))!f.call(n,a)&&a!==t&&r(n,a,{get:()=>e[a],enumerable:!(i=u(e,a))||i.enumerable});return n};var w=(n,e,t)=>(t=n!=null?d(p(n)):{},o(e||!n||!n.__esModule?r(t,\"default\",{value:n,enumerable:!0}):t,n)),y=n=>o(r({},\"__esModule\",{value:!0}),n);var c=g((Q,l)=>{l.exports=_jsx_runtime});var x={};v(x,{default:()=>P,frontmatter:()=>b});var s=w(c()),b={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 h(n){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},n.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:\"QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"100% serverless, no stateful connections required. Messages are pushed to your API.\"}),`\n`,(0,s.jsx)(e.li,{children:\"At-least-once delivery guaranteed to any public API\"}),`\n`,(0,s.jsx)(e.li,{children:\"Pubsub via topics\"}),`\n`,(0,s.jsx)(e.li,{children:\"Delay message delivery\"}),`\n`,(0,s.jsx)(e.li,{children:\"Message deduplication\"}),`\n`,(0,s.jsx)(e.li,{children:\"Scheduling via CRON\"}),`\n`]}),`\n`,(0,s.jsx)(e.p,{children:\"Formally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\"}),`\n`,(0,s.jsx)(e.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):\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"Works anywhere including serverless and edge.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Messaging as a service with no backend for users to run.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Lightweight, easy to understand, requires nothing to learn.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Price scales to zero.\"}),`\n`]}),`\n`,(0,s.jsx)(e.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.\"}),`\n`,(0,s.jsx)(e.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.\"}),`\n`,(0,s.jsx)(e.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.\"}),`\n`,(0,s.jsxs)(e.p,{children:[\"To learn more about QStash, visit \",(0,s.jsx)(e.a,{href:\"upstash.com/qstash\",children:\"upstash.com/qstash\"}),\".\"]})]})}function S(n={}){let{wrapper:e}=n.components||{};return e?(0,s.jsx)(e,Object.assign({},n,{children:(0,s.jsx)(h,n)})):h(n)}var P=S;return y(x);})();\n;return Component;" + "code": "var Component=(()=>{var ur=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var B=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports),hr=(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))!dr.call(l,g)&&g!==v&&F(l,g,{get:()=>t[g],enumerable:!(y=cr(t,g))||y.enumerable});return l};var mr=(l,t,v)=>(v=l!=null?ur(fr(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 h(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a=1&&d>=0&&o[f]!==m[d];)d--;for(;f>=1&&d>=0;f--,d--)if(o[f]!==m[d]){if(f!==1||d!==1)do if(f--,d--,d<0||o[f]!==m[d]){var b=`\n`+o[f].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(f>=1&&d>=0);break}}}finally{M=!1,W.current=u,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 ue(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 ue(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,u=a._init;try{return C(u(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ce={},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 u=Function.call.bind(O);for(var i in e)if(u(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var m=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 m.name=\"Invariant Violation\",m}o=e[i](r,i,a,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){o=f}o&&!(o instanceof Error)&&(D(s),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).\",a||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ce)&&(ce[o.message]=!0,D(s),h(\"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 fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),fe(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},he,me,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]||(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(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){me||(me=!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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,a,s,u,i){var o={$$typeof:t,type:e,key:r,ref:n,props:i,_owner:u};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 u,i={},o=null,m=null;n!==void 0&&(de(n),o=\"\"+n),He(r)&&(de(r.key),o=\"\"+r.key),Xe(r)&&(m=r.ref,Ke(r,s));for(u in r)O.call(r,u)&&!Ge.hasOwnProperty(u)&&(i[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)i[u]===void 0&&(i[u]=f[u])}if(o||m){var d=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,d),m&&Ze(i,d)}return er(e,o,m,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),h('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?\"):f=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,o)}var d=rr(e,r,n,s,u);if(d==null)return d;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={};hr(gr,{default:()=>_r,frontmatter:()=>vr});var c=mr(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\",published:!0};function Te(l){let t=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,c.jsxDEV)(c.Fragment,{children:[(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.ul,{children:[`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:17,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.ul,{children:[`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:27,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.p,{children:[\"To learn more about QStash, visit \",(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:36,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:36,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:t}=l.components||{};return t?(0,c.jsxDEV)(t,Object.assign({},l,{children:(0,c.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.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": { @@ -85,6 +89,7 @@ "slug": "qstash" }, { + "published": true, "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", @@ -92,7 +97,7 @@ "repository": "chronark/terraform-provider-vercel", "body": { "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 p=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var F=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),f=(n,e)=>{for(var l in e)a(n,l,{get:e[l],enumerable:!0})},o=(n,e,l,c)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of E(e))!m.call(n,s)&&s!==l&&a(n,s,{get:()=>e[s],enumerable:!(c=h(e,s))||c.enumerable});return n};var v=(n,e,l)=>(l=n!=null?p(y(n)):{},o(e||!n||!n.__esModule?a(l,\"default\",{value:n,enumerable:!0}):l,n)),u=n=>o(a({},\"__esModule\",{value:!0}),n);var i=F((_,t)=>{t.exports=_jsx_runtime});var w={};f(w,{default:()=>g,frontmatter:()=>B});var r=v(i()),B={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 d(n){let e=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},n.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.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.`}),`\n`,(0,r.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsx)(e.pre,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:(0,r.jsxs)(e.code,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:[(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"terraform\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"required_providers\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" vercel\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"{\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" source \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"registry.terraform.io/chronark/vercel\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" version \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\">=0.10.3\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"provider\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"vercel\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" token\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"resource\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"vercel_project\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"my_project\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" name\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"project-via-terraform\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"git_repository\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" type\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"github\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" repo\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"chronark/terraform-provider-vercel\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})})]})})}),`\n`,(0,r.jsx)(e.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.`}),`\n`,(0,r.jsx)(e.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.\"}),`\n`,(0,r.jsxs)(e.p,{children:[\"Now that Vercel have stepped in, I have decided to \",(0,r.jsx)(e.a,{href:\"https://twitter.com/chronark_/status/1517759708983177218\",children:\"deprecate\"}),\" this one on April 23rd 2022.\"]}),`\n`,(0,r.jsxs)(e.p,{children:[\"Please use the \",(0,r.jsx)(e.a,{href:\"https://registry.terraform.io/providers/vercel/vercel/latest\",children:\"official provider\"}),\" instead.\"]})]})}function N(n={}){let{wrapper:e}=n.components||{};return e?(0,r.jsx)(e,Object.assign({},n,{children:(0,r.jsx)(d,n)})):d(n)}var g=N;return u(w);})();\n;return Component;" + "code": "var Component=(()=>{var ir=Object.create;var S=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var G=(u,r)=>()=>(r||u((r={exports:{}}).exports,r),r.exports),hr=(u,r)=>{for(var _ in r)S(u,_,{get:r[_],enumerable:!0})},ve=(u,r,_,k)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let y of ur(r))!mr.call(u,y)&&y!==_&&S(u,y,{get:()=>r[y],enumerable:!(k=lr(r,y))||k.enumerable});return u};var fr=(u,r,_)=>(_=u!=null?ir(dr(u)):{},ve(r||!u||!u.__esModule?S(_,\"default\",{value:u,enumerable:!0}):_,u)),br=u=>ve(S({},\"__esModule\",{value:!0}),u);var ge=G((vr,xe)=>{xe.exports=React});var Ee=G(z=>{\"use strict\";(function(){\"use strict\";var u=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=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),c=1;c=1&&m>=0&&o[d]!==f[m];)m--;for(;d>=1&&m>=0;d--,m--)if(o[d]!==f[m]){if(d!==1||m!==1)do if(d--,m--,m<0||o[d]!==f[m]){var b=`\n`+o[d].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,b),b}while(d>=1&&m>=0);break}}}finally{Y=!1,I.current=l,Ye(),Error.prepareStackTrace=i}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 ie(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 ie(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 c=e,i=c._payload,l=c._init;try{return C(l(i),a,t)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,le={},ue=x.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);ue.setExtraStackFrame(t)}else ue.setExtraStackFrame(null)}function Le(e,a,t,c,i){{var l=Function.call.bind(O);for(var s in e)if(l(e,s)){var o=void 0;try{if(typeof e[s]!=\"function\"){var f=Error((c||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}o=e[s](a,s,c,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){o=d}o&&!(o instanceof Error)&&(P(i),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).\",c||\"React class\",t,s,typeof o),P(null)),o instanceof Error&&!(o.message in le)&&(le[o.message]=!0,P(i),h(\"Failed %s type: %s\",t,o.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 de(e),!1}catch{return!0}}function de(e){return\"\"+e}function me(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),de(e)}var U=x.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},he,fe,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]||(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(U.current.type),e.ref),W[t]=!0)}}function Ze(e,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(e,\"key\",{get:t,configurable:!0})}}function Qe(e,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(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,a,t,c,i,l,s){var o={$$typeof:r,type:e,key:a,ref:t,props:s,_owner:l};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:c}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function rr(e,a,t,c,i){{var l,s={},o=null,f=null;t!==void 0&&(me(t),o=\"\"+t),He(a)&&(me(a.key),o=\"\"+a.key),Xe(a)&&(f=a.ref,Je(a,i));for(l in a)O.call(a,l)&&!Ke.hasOwnProperty(l)&&(s[l]=a[l]);if(e&&e.defaultProps){var d=e.defaultProps;for(l in d)s[l]===void 0&&(s[l]=d[l])}if(o||f){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Ze(s,m),f&&Qe(s,m)}return er(e,o,f,i,c,U.current,s)}}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 c=\"\";e&&e._owner&&e._owner!==M.current&&(c=\" It was passed a child from \"+p(e._owner.type)+\".\"),g(e),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,c),g(null)}}function ye(e,a){{if(typeof e!=\"object\")return;if($(e))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):d=typeof e,h(\"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 m=rr(e,a,t,i,l);if(m==null)return m;if(s){var b=a.children;if(b!==void 0)if(c)if($(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var yr={};hr(yr,{default:()=>Nr,frontmatter:()=>_r});var n=fr(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\",published:!0};function Re(u){let r=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},u.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:12,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:16,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:39,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:42,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:44,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:44,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:46,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:46,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:1},this)}function pr(u={}){let{wrapper:r}=u.components||{};return r?(0,n.jsxDEV)(r,Object.assign({},u,{children:(0,n.jsxDEV)(Re,u,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\"},this):Re(u)}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": { @@ -113,7 +118,7 @@ "repository": "upstash/auth-analytics", "body": { "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var A=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)A(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&&A(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?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 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\"),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[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{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,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 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 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(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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(we()),hr={title:\"Upstash Auth Analytics\",description:\"A library to record and analyse Auth.js user behaviour\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/auth-analytics\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-ae561c07-b969-41f2-9b94-1fedeb76e60a.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,F.jsxDEV)(c,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-ae561c07-b969-41f2-9b94-1fedeb76e60a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-ae561c07-b969-41f2-9b94-1fedeb76e60a.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;" + "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=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)A(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&&A(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?A(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(A({},\"__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\"),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[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 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 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.\",qe(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=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),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 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&&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=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?\"):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 F=pr(we()),br={title:\"Upstash Auth Analytics\",description:\"A library to record and analyse Auth.js user behaviour\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/auth-analytics\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e491d153-3318-4404-b9cc-ddf66fe9f45f.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,F.jsxDEV)(f,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-e491d153-3318-4404-b9cc-ddf66fe9f45f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e491d153-3318-4404-b9cc-ddf66fe9f45f.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;" }, "_id": "projects/upstash-auth-analytics.mdx", "_raw": { @@ -128,6 +133,7 @@ "slug": "upstash-auth-analytics" }, { + "published": true, "title": "@upstash/cli", "description": "A CLI to provision and manage Upstash resources, including Redis and Kafka databases.", "date": "2022-05-16T00:00:00.000Z", @@ -135,7 +141,7 @@ "repository": "upstash/cli", "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 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 fr(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(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=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\"),K=Symbol.for(\"react.profiler\"),X=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:\"\",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,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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Ke={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 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),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Ke.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,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(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:()=>hr});var A=pr(we()),hr={title:\"@upstash/cli\",description:\"A CLI to provision and manage Upstash resources, including Redis and Kafka databases.\",date:\"2022-05-16\",url:\"https://upstash.com/cli\",repository:\"upstash/cli\"};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-6c0764d5-d70c-426e-bbb5-f080d7d335f3.mdx\",lineNumber:10,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-6c0764d5-d70c-426e-bbb5-f080d7d335f3.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6c0764d5-d70c-426e-bbb5-f080d7d335f3.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;" + "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 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 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=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\"),K=Symbol.for(\"react.profiler\"),X=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[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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Ke={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 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 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)k.call(r,u)&&!Ke.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&&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=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?\"):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:\"@upstash/cli\",description:\"A CLI to provision and manage Upstash resources, including Redis and Kafka databases.\",date:\"2022-05-16\",url:\"https://upstash.com/cli\",repository:\"upstash/cli\",published:!0};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-4eb0fa00-eee7-4578-99c3-55a7c326fffe.mdx\",lineNumber:11,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-4eb0fa00-eee7-4578-99c3-55a7c326fffe.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4eb0fa00-eee7-4578-99c3-55a7c326fffe.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;" }, "_id": "projects/upstash-cli.mdx", "_raw": { @@ -150,6 +156,7 @@ "slug": "upstash-cli" }, { + "published": true, "title": "Upstash Core Analytics", "description": "Low level utilities to build analytics tools on top of Redis.", "date": "2023-02-13T00:00:00.000Z", @@ -157,7 +164,7 @@ "repository": "upstash/core-analytics", "body": { "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=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 h in l)F(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of cr(l))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(fr(s)):{},_e(l||!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(),l=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 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 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,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 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 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),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 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,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===l}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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"Upstash Core Analytics\",description:\"Low level utilities to build analytics tools on top of Redis.\",date:\"2023-02-13\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/core-analytics\"};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93e52e03-a3e6-4365-84e4-0991fb72d0ac.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-93e52e03-a3e6-4365-84e4-0991fb72d0ac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93e52e03-a3e6-4365-84e4-0991fb72d0ac.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;" + "code": "var Component=(()=>{var sr=Object.create;var F=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)F(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&&F(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?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(),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\"),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&&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 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,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 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: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),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 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,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===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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Upstash Core Analytics\",description:\"Low level utilities to build analytics tools on top of Redis.\",date:\"2023-02-13\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/core-analytics\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-19540f58-fb17-4699-b4c6-0cb9420afdb1.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-19540f58-fb17-4699-b4c6-0cb9420afdb1.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-19540f58-fb17-4699-b4c6-0cb9420afdb1.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;" }, "_id": "projects/upstash-core-analytics.mdx", "_raw": { @@ -172,6 +179,7 @@ "slug": "upstash-core-analytics" }, { + "published": true, "title": "@upstash/edge-flags", "description": "Featues flags for your edge functions.", "date": "2022-12-12T00:00:00.000Z", @@ -179,7 +187,7 @@ "repository": "upstash/edge-flags", "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 q=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var g in f)F(s,g,{get:f[g],enumerable:!0})},_e=(s,f,g,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of cr(f))!dr.call(s,m)&&m!==g&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,g)=>(g=s!=null?sr(lr(s)):{},_e(f||!s||!s.__esModule?F(g,\"default\",{value:s,enumerable:!0}):g,s)),gr=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\"),g=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 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[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 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 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.\",qe(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 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),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 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&&Ze(o,l),v&&Qe(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,ge=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ge.setExtraStackFrame(t)}else ge.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 be={};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(be[t])return;be[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 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:()=>hr});var A=pr(we()),hr={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\"};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-a02e859f-43fa-40ca-bb10-a2afe415763c.mdx\",lineNumber:10,columnNumber:1},this)}function br(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-a02e859f-43fa-40ca-bb10-a2afe415763c.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-a02e859f-43fa-40ca-bb10-a2afe415763c.mdx\"},this):Pe(s)}var mr=br;return gr(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;" + "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 q=(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 cr(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(lr(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=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"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\"),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[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 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 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.\",qe(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=g(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',g(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),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 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&&Ze(o,l),v&&Qe(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 G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function ge(){{if(L.current){var e=g(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 he={};function nr(e){{var r=ge();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(he[t])return;he[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+g(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:()=>gr});var A=pr(we()),gr={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\",published:!0};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-55f51b83-ce3b-423c-bad6-92589929a727.mdx\",lineNumber:11,columnNumber:1},this)}function hr(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-55f51b83-ce3b-423c-bad6-92589929a727.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-55f51b83-ce3b-423c-bad6-92589929a727.mdx\"},this):Pe(s)}var mr=hr;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;" }, "_id": "projects/upstash-edge-flags.mdx", "_raw": { @@ -194,6 +202,7 @@ "slug": "upstash-edge-flags" }, { + "published": true, "title": "@upstash/kafka", "description": "A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes", "date": "2022-01-08T00:00:00.000Z", @@ -201,7 +210,7 @@ "repository": "upstash/upstash-kafka", "body": { "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 h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var u=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),F=(n,e)=>{for(var s in e)a(n,s,{get:e[s],enumerable:!0})},o=(n,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let c of E(e))!m.call(n,c)&&c!==s&&a(n,c,{get:()=>e[c],enumerable:!(r=p(e,c))||r.enumerable});return n};var g=(n,e,s)=>(s=n!=null?h(y(n)):{},o(e||!n||!n.__esModule?a(s,\"default\",{value:n,enumerable:!0}):s,n)),f=n=>o(a({},\"__esModule\",{value:!0}),n);var t=u((v,i)=>{i.exports=_jsx_runtime});var b={};F(b,{default:()=>B,frontmatter:()=>N});var l=g(t()),N={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 d(n){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\"},n.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(e.p,{children:[`An HTTP/REST based Kafka client built on top of\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/kafka/rest\",children:\"Upstash REST API\"}),\".\"]}),`\n`,(0,l.jsx)(e.p,{children:\"It is the only connectionless (HTTP based) Kafka client and designed for:\"}),`\n`,(0,l.jsxs)(e.ul,{children:[`\n`,(0,l.jsx)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"}),`\n`,(0,l.jsx)(e.li,{children:\"Cloudflare Workers (see the example)\"}),`\n`,(0,l.jsx)(e.li,{children:\"Fastly Compute@Edge\"}),`\n`,(0,l.jsx)(e.li,{children:\"Next.js Edge, Remix ...\"}),`\n`,(0,l.jsx)(e.li,{children:\"Client side web/mobile applications\"}),`\n`,(0,l.jsx)(e.li,{children:`WebAssembly and other environments where HTTP is preferred over TCP\nconnections.`}),`\n`]}),`\n`,(0,l.jsxs)(e.h1,{id:\"installation\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#installation\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Installation\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/kafka\"})]})})})}),`\n`,(0,l.jsxs)(e.h1,{id:\"quickstart\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quickstart\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Quickstart\"]}),`\n`,(0,l.jsxs)(e.h2,{id:\"auth\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#auth\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Auth\"]}),`\n`,(0,l.jsxs)(e.ol,{children:[`\n`,(0,l.jsxs)(e.li,{children:[\"Go to \",(0,l.jsx)(e.a,{href:\"https://console.upstash.com/kafka\",children:\"upstash\"}),\" and select your database.\"]}),`\n`,(0,l.jsxs)(e.li,{children:[\"Copy the \",(0,l.jsx)(e.code,{children:\"REST API\"}),\" secrets at the bottom of the page\"]}),`\n`]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Kafka } \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/kafka\"'})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"kafka\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"new\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Kafka\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" username: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" password: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"produce-a-single-message\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-a-single-message\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Produce a single message\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { hello: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" } \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// Objects will get serialized using `JSON.stringify`\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", message)\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", message, {\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" timestamp: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"12345\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" key: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" headers: [{ key: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"traceId\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", value: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"85a9f12\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }],\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"produce-multiple-messages\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-multiple-messages\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Produce multiple messages.\"]}),`\n`,(0,l.jsx)(e.p,{children:\"The same options from the example above can be set for every message.\"}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"produceMany\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"([\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: { hello: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another.topic\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another message\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"])\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"consume\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#consume\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Consume\"]}),`\n`,(0,l.jsx)(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.`}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"group_1\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"instance_1\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"test.topic\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoOffsetReset: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"earliest\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.p,{children:[`More examples can be found in the\n`,(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265\",children:\"docstring\"})]}),`\n`,(0,l.jsxs)(e.h2,{id:\"commit-manually\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#commit-manually\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Commit manually\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"While \",(0,l.jsx)(e.code,{children:\"consume\"}),` can handle committing automatically, you can also use\n`,(0,l.jsx)(e.code,{children:\"Consumer.commit\"}),\" to manually commit.\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"consumerGroupId\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"mygroup\"'})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"instanceId\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"myinstance\"'})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"topic\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [topic],\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoCommit: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"false\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"for\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" (\"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"of\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" messages) {\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// message handling logic\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"commit\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: {\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: message.topic,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: message.partition,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: message.offset,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"fetch\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#fetch\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Fetch\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"You can also manage offsets manually by using \",(0,l.jsx)(e.code,{children:\"Consumer.fetch\"})]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"fetch\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"greeting\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"3\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"42\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" timeout: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1000\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"examples\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#examples\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Examples\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"See \",(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-kafka/tree/main/examples\",children:\"/examples\"}),` as\nwell as various examples in the docstrings of each method.`]}),`\n`,(0,l.jsxs)(e.h1,{id:\"contributing\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Contributing\"]}),`\n`,(0,l.jsxs)(e.h2,{id:\"requirements\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#requirements\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Requirements\"]}),`\n`,(0,l.jsxs)(e.ul,{children:[`\n`,(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.a,{href:\"https://nodejs.org\",children:\"nodejs\"}),\" v14.x or higher\"]}),`\n`,(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:\"https://pnpm.io/installation\",children:\"pnpm\"})}),`\n`]}),`\n`,(0,l.jsxs)(e.h2,{id:\"setup\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#setup\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Setup\"]}),`\n`,(0,l.jsxs)(e.ol,{start:\"0\",children:[`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[\"Install dependencies using \",(0,l.jsx)(e.code,{children:\"pnpm install\"})]}),`\n`]}),`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[`Create a kafka instance on upstash.\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-kafka-cluster\",children:\"docs\"})]}),`\n`]}),`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[\"Create the following topics: \",(0,l.jsx)(e.code,{children:\"blue\"}),\", \",(0,l.jsx)(e.code,{children:\"red\"}),\", \",(0,l.jsx)(e.code,{children:\"green\"}),`.\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-topic\",children:\"docs\"})]}),`\n`,(0,l.jsx)(e.p,{children:\"The partitions or retention settings don't matter at this time.\"}),`\n`]}),`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[\"Create \",(0,l.jsx)(e.code,{children:\".env\"}),\" file with your kafka secrets \",(0,l.jsx)(e.code,{children:\"cp .env.example .env\"})]}),`\n`]}),`\n`]}),`\n`,(0,l.jsxs)(e.h2,{id:\"running-tests\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#running-tests\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Running tests\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"pnpm\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"test\"})]})})})})]})}function k(n={}){let{wrapper:e}=n.components||{};return e?(0,l.jsx)(e,Object.assign({},n,{children:(0,l.jsx)(d,n)})):d(n)}var B=k;return f(b);})();\n;return Component;" + "code": "var Component=(()=>{var dn=Object.create;var P=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var G=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports),hn=(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))!un.call(m,k)&&k!==_&&P(m,k,{get:()=>e[k],enumerable:!(x=mn(e,k))||x.enumerable});return m};var fn=(m,e,_)=>(_=m!=null?dn(bn(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 u(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&b>=0&&s[l]!==h[b];)b--;for(;l>=1&&b>=0;l--,b--)if(s[l]!==h[b]){if(l!==1||b!==1)do if(l--,b--,b<0||s[l]!==h[b]){var f=`\n`+s[l].replace(\" at new \",\" at \");return r.displayName&&f.includes(\"\")&&(f=f.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,f),f}while(l>=1&&b>=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 h=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 h.name=\"Invariant Violation\",h}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),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,c,typeof s),B(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,B(d),u(\"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 be(r){if(qe(r))return u(\"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},ue,he,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]||(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),r.ref),M[t]=!0)}}function Qe(r,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(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){he||(he=!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(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,h=null;t!==void 0&&(be(t),s=\"\"+t),Xe(a)&&(be(a.key),s=\"\"+a.key),ze(a)&&(h=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||h){var b=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,b),h&&Ze(c,b)}return en(r,s,h,d,o,v.current,c)}}var $=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.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),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 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,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 b=nn(r,a,t,d,i);if(b==null)return b;if(c){var f=a.children;if(f!==void 0)if(o)if(Y(f)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var n=fn(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\",published:!0};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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:12,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:15,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:18,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:19,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:20,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:21,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:22,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:27,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:31,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:33,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:36,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:36,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:38,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:48,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:50,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:62,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:64,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:66,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:82,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:84,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:90,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:101,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:100,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:103,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:105,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:106,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:105,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:108,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:136,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:138,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:138,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:140,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:150,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:152,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:152,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:155,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:157,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:160,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:160,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:162,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:166,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:165,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:165,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:168,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:170,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:174,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:176,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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": { @@ -216,6 +225,7 @@ "slug": "upstash-kafka" }, { + "published": true, "title": "@upstash/qstash", "description": "A typescript client and consumer for QStash.", "date": "2022-07-18T00:00:00.000Z", @@ -223,7 +233,7 @@ "repository": "upstash/sdk-qstash-ts", "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 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:\"\",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,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 qe(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 Be=Array.isArray;function V(e){return Be(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=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: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,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 q;q=!1;function B(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:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\"};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-c0ed3c5f-8329-457e-8b6a-3f06217a527b.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-c0ed3c5f-8329-457e-8b6a-3f06217a527b.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-c0ed3c5f-8329-457e-8b6a-3f06217a527b.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;" + "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 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:\"\",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,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 qe(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 Be=Array.isArray;function V(e){return Be(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=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: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,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 q;q=!1;function B(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:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\",published:!0};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-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.mdx\",lineNumber:10,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-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.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;" }, "_id": "projects/upstash-qstash-sdk.mdx", "_raw": { @@ -238,6 +248,7 @@ "slug": "upstash-qstash-sdk" }, { + "published": true, "title": "@upstash/ratelimit", "description": "Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.", "date": "2022-06-06T00:00:00.000Z", @@ -245,7 +256,7 @@ "repository": "upstash/ratelimit", "body": { "raw": "\nTODO:", - "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 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 lr(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(fr(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=q((_r,Re)=>{Re.exports=React});var Ce=q(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 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{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,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 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 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 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,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===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?\"):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(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:\"@upstash/ratelimit\",description:\"Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.\",date:\"2022-06-06\",url:\"https://upstash.com/ratelimit\",repository:\"upstash/ratelimit\"};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-6ca1e42c-7c16-4c6d-b6c7-5fe6218e9bd6.mdx\",lineNumber:10,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-6ca1e42c-7c16-4c6d-b6c7-5fe6218e9bd6.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ca1e42c-7c16-4c6d-b6c7-5fe6218e9bd6.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;" + "code": "var Component=(()=>{var sr=Object.create;var F=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 h in l)F(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!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(),l=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 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:\"\",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,le={},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 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 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 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 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),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 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===l}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 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(we()),br={title:\"@upstash/ratelimit\",description:\"Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.\",date:\"2022-06-06\",url:\"https://upstash.com/ratelimit\",repository:\"upstash/ratelimit\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-37fe23d1-747d-41e2-83b3-756ee13806a3.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-37fe23d1-747d-41e2-83b3-756ee13806a3.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-37fe23d1-747d-41e2-83b3-756ee13806a3.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;" }, "_id": "projects/upstash-ratelimit.mdx", "_raw": { @@ -260,6 +271,7 @@ "slug": "upstash-ratelimit" }, { + "published": true, "title": "React.js CLI", "description": "A CLI React component to interact with Upstash Redis databases.", "date": "2023-02-05T00:00:00.000Z", @@ -267,7 +279,7 @@ "repository": "upstash/react-ui", "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 q=(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=q((_r,Re)=>{Re.exports=React});var Ce=q(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 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:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Le(e,r,t){return se(e,!1)}function Ue(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,Ue(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 Le(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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,L;L={};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);L[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),L[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 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 U=_.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===c}function be(){{if(U.current){var e=b(U.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!==U.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:\"React.js CLI\",description:\"A CLI React component to interact with Upstash Redis databases.\",date:\"2023-02-05\",url:\"https://upstash.com\",repository:\"upstash/react-ui\"};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-22d4f282-9b50-49ce-a375-e53037e3152a.mdx\",lineNumber:10,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-22d4f282-9b50-49ce-a375-e53037e3152a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-22d4f282-9b50-49ce-a375-e53037e3152a.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;" + "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 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 fr(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(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=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\"),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:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Le(e,r,t){return se(e,!1)}function Ue(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,Ue(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 Le(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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,L;L={};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);L[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),L[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 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 U=_.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(U.current){var e=h(U.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!==U.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?\"):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:()=>hr});var A=pr(we()),hr={title:\"React.js CLI\",description:\"A CLI React component to interact with Upstash Redis databases.\",date:\"2023-02-05\",url:\"https://upstash.com\",repository:\"upstash/react-ui\",published:!0};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-cb7470d6-8beb-40f7-8d67-d853d6fc6345.mdx\",lineNumber:11,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-cb7470d6-8beb-40f7-8d67-d853d6fc6345.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-cb7470d6-8beb-40f7-8d67-d853d6fc6345.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;" }, "_id": "projects/upstash-react-ui.mdx", "_raw": { @@ -282,6 +294,7 @@ "slug": "upstash-react-ui" }, { + "published": true, "title": "@upstash/redis", "description": "A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.", "date": "2022-03-14T00:00:00.000Z", @@ -289,7 +302,7 @@ "repository": "upstash/upstash-redis", "body": { "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 h=Object.create;var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var m=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),u=(n,e)=>{for(var s in e)c(n,s,{get:e[s],enumerable:!0})},o=(n,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of E(e))!F.call(n,a)&&a!==s&&c(n,a,{get:()=>e[a],enumerable:!(r=p(e,a))||r.enumerable});return n};var B=(n,e,s)=>(s=n!=null?h(y(n)):{},o(e||!n||!n.__esModule?c(s,\"default\",{value:n,enumerable:!0}):s,n)),N=n=>o(c({},\"__esModule\",{value:!0}),n);var t=m((w,i)=>{i.exports=_jsx_runtime});var C={};u(C,{default:()=>b,frontmatter:()=>g});var l=B(t()),g={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 d(n){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\"},n.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:\"@upstash/redis\"}),` is an HTTP/REST based Redis client for typescript, built on top\nof `,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/features/restapi\",children:\"Upstash REST API\"}),\".\"]}),`\n`,(0,l.jsx)(e.p,{children:\"It is the only connectionless (HTTP based) Redis client and designed for:\"}),`\n`,(0,l.jsxs)(e.ul,{children:[`\n`,(0,l.jsx)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"}),`\n`,(0,l.jsxs)(e.li,{children:[`Cloudflare Workers (see\n`,(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers\",children:\"the example\"}),\")\"]}),`\n`,(0,l.jsxs)(e.li,{children:[`Fastly Compute@Edge (see\n`,(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/fastly\",children:\"the example\"}),\")\"]}),`\n`,(0,l.jsx)(e.li,{children:\"Next.js, Jamstack ...\"}),`\n`,(0,l.jsx)(e.li,{children:\"Client side web/mobile applications\"}),`\n`,(0,l.jsx)(e.li,{children:\"WebAssembly\"}),`\n`,(0,l.jsx)(e.li,{children:\"and other environments where HTTP is preferred over TCP.\"}),`\n`]}),`\n`,(0,l.jsxs)(e.p,{children:[`See\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/features/restapi#rest---redis-api-compatibility\",children:\"the list of APIs\"}),`\nsupported.`]}),`\n`,(0,l.jsxs)(e.h2,{id:\"quick-start\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quick-start\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Quick Start\"]}),`\n`,(0,l.jsxs)(e.h3,{id:\"install\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Install\"]}),`\n`,(0,l.jsxs)(e.h4,{id:\"nodejs\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#nodejs\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Node.js\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/redis\"})]})})})}),`\n`,(0,l.jsxs)(e.h4,{id:\"deno\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deno\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Deno\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"https://deno.land/x/upstash_redis/mod.ts\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"})]})})})}),`\n`,(0,l.jsxs)(e.h3,{id:\"create-database\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#create-database\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Create database\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"Create a new redis database on \",(0,l.jsx)(e.a,{href:\"https://console.upstash.com/\",children:\"upstash\"})]}),`\n`,(0,l.jsxs)(e.h2,{id:\"basic-usage\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#basic-usage\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Basic Usage:\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/redis\"'})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"redis\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"new\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Redis\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: <\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_URL\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" token: <\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_TOKEN\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// string\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"set\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"let\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"get\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"set\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key2'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value2'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", {ex: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// sorted set\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"zadd\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", { score: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", member: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'team1'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"zrange\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// list\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"lpush\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'magnesium'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"lrange\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// hash\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"hset\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", {name: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'joe'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"hget\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'name'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// sets\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"sadd\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'cat'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"spop\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]})]})})})]})}function f(n={}){let{wrapper:e}=n.components||{};return e?(0,l.jsx)(e,Object.assign({},n,{children:(0,l.jsx)(d,n)})):d(n)}var b=f;return N(C);})();\n;return Component;" + "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(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))!fn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var bn=(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 f(r){{for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t=1&&u>=0&&o[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(o[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||o[m]!==h[u]){var b=`\n`+o[m].replace(\" at new \",\" at \");return r.displayName&&b.includes(\"\")&&(b=b.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,b),b}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,c){return de(r,!1)}function Me(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,c){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,c);case A:{var t=r,d=t._payload,i=t._init;try{return w(i(d),a,c)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function P(r){if(r){var a=r._owner,c=w(r.type,r._source,a?a.type:null);le.setExtraStackFrame(c)}else le.setExtraStackFrame(null)}function Ve(r,a,c,t,d){{var i=Function.call.bind(S);for(var s in r)if(i(r,s)){var o=void 0;try{if(typeof r[s]!=\"function\"){var h=Error((t||\"React class\")+\": \"+c+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=r[s](a,s,t,c,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){o=m}o&&!(o instanceof Error)&&(P(d),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).\",t||\"React class\",c,s,typeof o),P(null)),o instanceof Error&&!(o.message in ie)&&(ie[o.message]=!0,P(d),f(\"Failed %s type: %s\",c,o.message),P(null))}}}var He=Array.isArray;function Y(r){return He(r)}function qe(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,c=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return c}}function ze(r){try{return me(r),!1}catch{return!0}}function me(r){return\"\"+r}function ue(r){if(ze(r))return f(\"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},fe,he,$;$={};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 c=p(v.current.type);$[c]||(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(v.current.type),r.ref),$[c]=!0)}}function Qe(r,a){{var c=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))};c.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:c,configurable:!0})}}function Ze(r,a){{var c=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))};c.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:c,configurable:!0})}}var en=function(r,a,c,t,d,i,s){var o={$$typeof:e,type:r,key:a,ref:c,props:s,_owner:i};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:t}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(r,a,c,t,d){{var i,s={},o=null,h=null;c!==void 0&&(ue(c),o=\"\"+c),Xe(a)&&(ue(a.key),o=\"\"+a.key),Ke(a)&&(h=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(s[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)s[i]===void 0&&(s[i]=m[i])}if(o||h){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;o&&Qe(s,u),h&&Ze(s,u)}return en(r,o,h,d,t,v.current,s)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,c=w(r.type,r._source,a?a.type:null);be.setExtraStackFrame(c)}else be.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(/^.*[\\\\\\/]/,\"\"),c=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+c+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var c=typeof r==\"string\"?r:r.displayName||r.name;c&&(a=`\n\nCheck the top-level render call using <`+c+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var c=an(a);if(pe[c])return;pe[c]=!0;var t=\"\";r&&r._owner&&r._owner!==M.current&&(t=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',c,t),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var c=0;c\",o=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof r,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,o)}var u=nn(r,a,c,d,i);if(u==null)return u;if(s){var b=a.children;if(b!==void 0)if(t)if(Y(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var n=bn(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\",published:!0};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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:12,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:13,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:12,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:15,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:19,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:18,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:21,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:20,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:22,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:23,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:24,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:25,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:28,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:27,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:31,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:35,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:37,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:41,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:43,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:47,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:49,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:49,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:51,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:53,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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": { @@ -302,5 +315,26 @@ "type": "Project", "path": "/projects/upstash-redis", "slug": "upstash-redis" + }, + { + "published": true, + "title": "Upstash Web Analytics", + "description": "A library to record and analyse web page traffic and user behaviour", + "repository": "upstash/web-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var A=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)A(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&&A(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?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 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\"),W=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{M=!1,$.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 W: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 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 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(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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(we()),hr={title:\"Upstash Web Analytics\",description:\"A library to record and analyse web page traffic and user behaviour\",repository:\"upstash/web-analytics\",published:!0};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6692e122-da3d-46ed-b1b6-14cd52b3c074.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,F.jsxDEV)(c,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-6692e122-da3d-46ed-b1b6-14cd52b3c074.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6692e122-da3d-46ed-b1b6-14cd52b3c074.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;" + }, + "_id": "projects/upstash-web-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-web-analytics.mdx", + "sourceFileName": "upstash-web-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-web-analytics" + }, + "type": "Project", + "path": "/projects/upstash-web-analytics", + "slug": "upstash-web-analytics" } ] \ No newline at end of file diff --git a/.contentlayer/generated/Project/_index.mjs b/.contentlayer/generated/Project/_index.mjs index 58f76a0..6ffbf81 100644 --- a/.contentlayer/generated/Project/_index.mjs +++ b/.contentlayer/generated/Project/_index.mjs @@ -42,6 +42,9 @@ import projects__upstashReactUiMdx from "./projects__upstash-react-ui.mdx.json" import projects__upstashRedisMdx from "./projects__upstash-redis.mdx.json" assert { type: "json", }; +import projects__upstashWebAnalyticsMdx from "./projects__upstash-web-analytics.mdx.json" assert { + type: "json", +}; export const allProjects = [ projects__accessMdx, @@ -58,4 +61,5 @@ export const allProjects = [ projects__upstashRatelimitMdx, projects__upstashReactUiMdx, projects__upstashRedisMdx, + projects__upstashWebAnalyticsMdx, ]; diff --git a/.contentlayer/generated/Project/projects__access.mdx.json b/.contentlayer/generated/Project/projects__access.mdx.json index 36a06e7..9352ccc 100644 --- a/.contentlayer/generated/Project/projects__access.mdx.json +++ b/.contentlayer/generated/Project/projects__access.mdx.json @@ -1,11 +1,12 @@ { + "published": true, "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.", "date": "2022-11-13T00:00:00.000Z", "repository": "chronark/access", "body": { "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 h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var F=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),N=(l,e)=>{for(var s in e)a(l,s,{get:e[s],enumerable:!0})},o=(l,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let c of y(e))!m.call(l,c)&&c!==s&&a(l,c,{get:()=>e[c],enumerable:!(r=p(e,c))||r.enumerable});return l};var u=(l,e,s)=>(s=l!=null?h(E(l)):{},o(e||!l||!l.__esModule?a(s,\"default\",{value:l,enumerable:!0}):s,l)),f=l=>o(a({},\"__esModule\",{value:!0}),l);var t=F((v,i)=>{i.exports=_jsx_runtime});var B={};N(B,{default:()=>D,frontmatter:()=>g});var n=u(t()),g={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 d(l){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},l.components);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(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.\"}),`\n`,(0,n.jsxs)(e.ul,{children:[`\n`,(0,n.jsx)(e.li,{children:\"Fully typed\"}),`\n`,(0,n.jsx)(e.li,{children:\"Zero dependencies\"}),`\n`,(0,n.jsx)(e.li,{children:\"Serializable to store in a database\"}),`\n`]}),`\n`,(0,n.jsxs)(e.h2,{id:\"install\",children:[(0,n.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,n.jsx)(e.span,{className:\"icon icon-link\"})}),\"Install\"]}),`\n`,(0,n.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsx)(e.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,n.jsx)(e.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#e1e4e8\"},children:\"npm i @chronark/access\"})})})})}),`\n`,(0,n.jsxs)(e.h2,{id:\"usage\",children:[(0,n.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#usage\",children:(0,n.jsx)(e.span,{className:\"icon icon-link\"})}),\"Usage\"]}),`\n`,(0,n.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,n.jsx)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,n.jsxs)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { AccessControl, Role } \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@chronark/access\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Define all your resources and their access patterns\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * key => resource\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * value => array of access types\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"type\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\"user\"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\":\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"dance\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\"team\"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\":\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"];\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"};\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Create an access control instance and pass the Statements type to enjoy full\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * type safety\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"ac\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"new\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"AccessControl\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">();\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Now you can define one or more roles by specifying the access permissions\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * This is already fully typed and typescript will let you know if you try to\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * use anything, that is not defined in the Statements type.\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"role\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" ac.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"newRole\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" user: [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"write\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"})]}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" team: [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Simulate storing and retrieving the role in a database\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * The idea here is, that you can store permissions alongside an API token.\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Now, when you verify the token, you can also verify the access permissions.\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"serialized\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" role.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"toString\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"();\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Note how you can pass in the Statements type again, to get full type safety\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"recovered\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" Role.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"fromString\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"<\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Statements\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">(serialized);\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"/**\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * Validate the role by specifying the resource and the required access\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" *\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" * everything is fully typed\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\" */\"})}),`\n`,(0,n.jsxs)(e.span,{className:\"line\",children:[(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,n.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" recovered.\"}),(0,n.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"authorize\"}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"team\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", [\"}),(0,n.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"read\"'}),(0,n.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"]});\"})]}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// res.success => boolean\"})}),`\n`,(0,n.jsx)(e.span,{className:\"line\",children:(0,n.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// res.error => string | undefined provides a reason for failure\"})})]})})})]})}function A(l={}){let{wrapper:e}=l.components||{};return e?(0,n.jsx)(e,Object.assign({},l,{children:(0,n.jsx)(d,l)})):d(l)}var D=A;return f(B);})();\n;return Component;" + "code": "var Component=(()=>{var sn=Object.create;var S=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var z=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(l,e)=>{for(var _ in e)S(l,_,{get:e[_],enumerable:!0})},xe=(l,e,_,k)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let y of mn(e))!fn.call(l,y)&&y!==_&&S(l,y,{get:()=>e[y],enumerable:!(k=ln(e,y))||k.enumerable});return l};var bn=(l,e,_)=>(_=l!=null?sn(un(l)):{},xe(e||!l||!l.__esModule?S(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>xe(S({},\"__esModule\",{value:!0}),l);var Ee=z((gn,ge)=>{ge.exports=React});var je=z(G=>{\"use strict\";(function(){\"use strict\";var l=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=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function f(n){{for(var a=arguments.length,d=new Array(a>1?a-1:0),c=1;c=1&&u>=0&&t[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(t[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||t[m]!==h[u]){var b=`\n`+t[m].replace(\" at new \",\" at \");return n.displayName&&b.includes(\"\")&&(b=b.replace(\"\",n.displayName)),typeof n==\"function\"&&D.set(n,b),b}while(m>=1&&u>=0);break}}}finally{$=!1,I.current=i,$e(),Error.prepareStackTrace=s}var j=n?n.displayName||n.name:\"\",ke=j?C(j):\"\";return typeof n==\"function\"&&D.set(n,ke),ke}function Ve(n,a,d){return se(n,!1)}function Me(n){var a=n.prototype;return!!(a&&a.isReactComponent)}function w(n,a,d){if(n==null)return\"\";if(typeof n==\"function\")return se(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,d);case B:{var c=n,s=c._payload,i=c._init;try{return w(i(s),a,d)}catch{}}}return\"\"}var T=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function A(n){if(n){var a=n._owner,d=w(n.type,n._source,a?a.type:null);le.setExtraStackFrame(d)}else le.setExtraStackFrame(null)}function Le(n,a,d,c,s){{var i=Function.call.bind(T);for(var o in n)if(i(n,o)){var t=void 0;try{if(typeof n[o]!=\"function\"){var h=Error((c||\"React class\")+\": \"+d+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof n[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}t=n[o](a,o,c,d,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){t=m}t&&!(t instanceof Error)&&(A(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).\",c||\"React class\",d,o,typeof t),A(null)),t instanceof Error&&!(t.message in ie)&&(ie[t.message]=!0,A(s),f(\"Failed %s type: %s\",d,t.message),A(null))}}}var qe=Array.isArray;function W(n){return qe(n)}function ze(n){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,d=a&&n[Symbol.toStringTag]||n.constructor.name||\"Object\";return d}}function Ge(n){try{return me(n),!1}catch{return!0}}function me(n){return\"\"+n}function ue(n){if(Ge(n))return f(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",ze(n)),me(n)}var v=g.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},fe,he,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 d=p(v.current.type);V[d]||(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(v.current.type),n.ref),V[d]=!0)}}function Je(n,a){{var d=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))};d.isReactWarning=!0,Object.defineProperty(n,\"key\",{get:d,configurable:!0})}}function Qe(n,a){{var d=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))};d.isReactWarning=!0,Object.defineProperty(n,\"ref\",{get:d,configurable:!0})}}var en=function(n,a,d,c,s,i,o){var t={$$typeof:e,type:n,key:a,ref:d,props:o,_owner:i};return t._store={},Object.defineProperty(t._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(t,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:c}),Object.defineProperty(t,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t};function nn(n,a,d,c,s){{var i,o={},t=null,h=null;d!==void 0&&(ue(d),t=\"\"+d),He(a)&&(ue(a.key),t=\"\"+a.key),Ke(a)&&(h=a.ref,Ze(a,s));for(i in a)T.call(a,i)&&!Xe.hasOwnProperty(i)&&(o[i]=a[i]);if(n&&n.defaultProps){var m=n.defaultProps;for(i in m)o[i]===void 0&&(o[i]=m[i])}if(t||h){var u=typeof n==\"function\"?n.displayName||n.name||\"Unknown\":n;t&&Je(o,u),h&&Qe(o,u)}return en(n,t,h,s,c,v.current,o)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(n){if(n){var a=n._owner,d=w(n.type,n._source,a?a.type:null);be.setExtraStackFrame(d)}else be.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(/^.*[\\\\\\/]/,\"\"),d=n.lineNumber;return`\n\nCheck your code at `+a+\":\"+d+\".\"}return\"\"}}var pe={};function an(n){{var a=_e();if(!a){var d=typeof n==\"string\"?n:n.displayName||n.name;d&&(a=`\n\nCheck the top-level render call using <`+d+\">.\")}return a}}function Ne(n,a){{if(!n._store||n._store.validated||n.key!=null)return;n._store.validated=!0;var d=an(a);if(pe[d])return;pe[d]=!0;var c=\"\";n&&n._owner&&n._owner!==M.current&&(c=\" It was passed a child from \"+p(n._owner.type)+\".\"),E(n),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',d,c),E(null)}}function ye(n,a){{if(typeof n!=\"object\")return;if(W(n))for(var d=0;d\",t=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof n,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,t)}var u=nn(n,a,d,s,i);if(u==null)return u;if(o){var b=a.children;if(b!==void 0)if(c)if(W(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var kn={};hn(kn,{default:()=>yn,frontmatter:()=>pn});var r=bn(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\",published:!0};function Fe(l){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",h2:\"h2\",a:\"a\",span:\"span\",div:\"div\",pre:\"pre\",code:\"code\"},l.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:9,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:12,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:13,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:15,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:17,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this),\"Usage\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:21,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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:348},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:4,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:9,columnNumber:217},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:10,columnNumber:407},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:11,columnNumber:316},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:14,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:16,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:18,columnNumber:458},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:26,columnNumber:295},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:27,columnNumber:208},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:28,columnNumber:117},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:29,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:31,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:32,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:33,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:34,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:35,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:36,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:37,columnNumber:304},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:39,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:40,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:41,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:42,columnNumber:391},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:44,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:45,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:46,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:47,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:48,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:49,columnNumber:484},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:51,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.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-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:52,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:52,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:23,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:e}=l.components||{};return e?(0,r.jsxDEV)(e,Object.assign({},l,{children:(0,r.jsxDEV)(Fe,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-675c5a23-2c19-43e7-afcf-8bdd7ed1d19d.mdx\"},this):Fe(l)}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__envshare.mdx.json b/.contentlayer/generated/Project/projects__envshare.mdx.json index acb0b08..9950c9e 100644 --- a/.contentlayer/generated/Project/projects__envshare.mdx.json +++ b/.contentlayer/generated/Project/projects__envshare.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "envshare.dev", "description": "EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.", "date": "2023-01-16T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "chronark/envshare", "body": { "raw": "\nEnvShare is a simple tool to share environment variables securely. It uses\n**AES-GCM** to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.\n\n## Features\n\n- **Shareable Links:** Share your environment variables securely by sending a\n link\n- **End-to-End Encryption:** AES-GCM encryption is used to encrypt your data\n before sending it to the server\n- **Limit number of reads:** Limit the number of times a link can be read\n- **Auto Expire:** Automatically expire links and delete data after a certain\n time\n\n\n\n![](https://github.com/chronark/envshare/raw/main/img/envshare.png)\n\n## Built with\n\n- [Next.js](https://nextjs.org)\n- [tailwindcss](https://tailwindcss.com)\n- Deployed on [Vercel](https://vercel.com?utm_source=envshare)\n- Data stored on [Upstash](https://upstash.com?utm_source=envshare)\n\n## Deploy your own\n\nDetailed instructions can be found [here](https://envshare.dev/deploy)\n\nAll you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17)\n\n\n\n## Configuration\n\n### Environment Variables\n\n`ENABLE_VERCEL_ANALYTICS` Any truthy value will enable Vercel Analytics. This is turned off by default\n\n## Contributing\n\nThis repository uses `pnpm` to manage dependencies. Install it using\n`npm install -g pnpm`\n\nPlease run `pnpm fmt` before committing to format the code.\n\n## Docs\n\nDocs in the README are temporary and will be moved to the website soon.\n\n### API\n\n#### Store a secret\n\n**PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.**\n\nThis endpoint is only meant to store **already encrypted** secrets. The\nencrypted secrets are stored in plain text.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"\n```\n\nYou can add optional headers to configure the ttl and number of reads.\n\n```sh-session\n$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"\n```\n\n- Omitting the `envshare-ttl` header will set a default of 30 days. Disable the\n ttl by setting it to 0. (`envshare-ttl: 0`)\n- Omitting the `envshare-reads` header will simply disable it and allow reading\n for an unlimited number of times.\n\nThis endpoint returns a JSON response with the secret id:\n\n```json\n{\n \"data\": {\n \"id\": \"HdPbXgpvUvNk43oxSdK97u\",\n \"ttl\": 86400,\n \"reads\": 2,\n \"expiresAt\": \"2023-01-19T20:47:28.383Z\",\n \"url\": \"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"\n }\n}\n```\n\n#### Retrieve a secret\n\nYou need an id to retrieve a secret. The id is returned when you store a secret.\n\n```sh-session\n$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\n```\n\n```json\n{\n \"data\": {\n \"secret\": \"Hello\",\n \"remainingReads\": 1\n }\n}\n```", - "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty;var X=(l,n)=>()=>(n||l((n={exports:{}}).exports,n),n.exports),bn=(l,n)=>{for(var _ in n)O(l,_,{get:n[_],enumerable:!0})},ye=(l,n,_,x)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let k of un(n))!hn.call(l,k)&&k!==_&&O(l,k,{get:()=>n[k],enumerable:!(x=ln(n,k))||x.enumerable});return l};var fn=(l,n,_)=>(_=l!=null?dn(mn(l)):{},ye(n||!l||!l.__esModule?O(_,\"default\",{value:l,enumerable:!0}):_,l)),_n=l=>ye(O({},\"__esModule\",{value:!0}),l);var ve=X((gn,ge)=>{ge.exports=React});var Ee=X(H=>{\"use strict\";(function(){\"use strict\";var l=ve(),n=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),q=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),z=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\"),L=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 g=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),c=1;c=1&&m>=0&&o[u]!==b[m];)m--;for(;u>=1&&m>=0;u--,m--)if(o[u]!==b[m]){if(u!==1||m!==1)do if(u--,m--,m<0||o[u]!==b[m]){var f=`\n`+o[u].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,f),f}while(u>=1&&m>=0);break}}}finally{V=!1,I.current=d,Ve(),Error.prepareStackTrace=i}var E=e?e.displayName||e.name:\"\",xe=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,xe),xe}function $e(e,a,t){return ie(e,!1)}function Me(e){var a=e.prototype;return!!(a&&a.isReactComponent)}function S(e,a,t){if(e==null)return\"\";if(typeof e==\"function\")return ie(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 $e(e.render);case F:return S(e.type,a,t);case L:{var c=e,i=c._payload,d=c._init;try{return S(d(i),a,t)}catch{}}}return\"\"}var C=Object.prototype.hasOwnProperty,de={},le=g.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=S(e.type,e._source,a?a.type:null);le.setExtraStackFrame(t)}else le.setExtraStackFrame(null)}function We(e,a,t,c,i){{var d=Function.call.bind(C);for(var s in e)if(d(e,s)){var o=void 0;try{if(typeof e[s]!=\"function\"){var b=Error((c||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw b.name=\"Invariant Violation\",b}o=e[s](a,s,c,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){o=u}o&&!(o instanceof Error)&&(P(i),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).\",c||\"React class\",t,s,typeof o),P(null)),o instanceof Error&&!(o.message in de)&&(de[o.message]=!0,P(i),h(\"Failed %s type: %s\",t,o.message),P(null))}}}var Ge=Array.isArray;function Y(e){return Ge(e)}function Xe(e){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,t=a&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return t}}function He(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(He(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Xe(e)),ue(e)}var U=g.ReactCurrentOwner,qe={key:!0,ref:!0,__self:!0,__source:!0},he,be,$;$={};function Ke(e){if(C.call(e,\"ref\")){var a=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(a&&a.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(C.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);$[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(U.current.type),e.ref),$[t]=!0)}}function Ze(e,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(e,\"key\",{get:t,configurable:!0})}}function Qe(e,a){{var t=function(){be||(be=!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(e,\"ref\",{get:t,configurable:!0})}}var en=function(e,a,t,c,i,d,s){var o={$$typeof:n,type:e,key:a,ref:t,props:s,_owner:d};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:c}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(e,a,t,c,i){{var d,s={},o=null,b=null;t!==void 0&&(me(t),o=\"\"+t),ze(a)&&(me(a.key),o=\"\"+a.key),Ke(a)&&(b=a.ref,Je(a,i));for(d in a)C.call(a,d)&&!qe.hasOwnProperty(d)&&(s[d]=a[d]);if(e&&e.defaultProps){var u=e.defaultProps;for(d in u)s[d]===void 0&&(s[d]=u[d])}if(o||b){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Ze(s,m),b&&Qe(s,m)}return en(e,o,b,i,c,U.current,s)}}var M=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function v(e){if(e){var a=e._owner,t=S(e.type,e._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.setExtraStackFrame(null)}var W;W=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===n}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function rn(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 an(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=an(a);if(pe[t])return;pe[t]=!0;var c=\"\";e&&e._owner&&e._owner!==M.current&&(c=\" It was passed a child from \"+p(e._owner.type)+\".\"),v(e),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,c),v(null)}}function ke(e,a){{if(typeof e!=\"object\")return;if(Y(e))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,o)}var m=nn(e,a,t,i,d);if(m==null)return m;if(s){var f=a.children;if(f!==void 0)if(c)if(Y(f)){for(var E=0;E{\"use strict\";je.exports=Ee()});var xn={};bn(xn,{default:()=>kn,frontmatter:()=>pn});var r=fn(Ue()),pn={title:\"envshare.dev\",description:\"EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.\",date:\"2023-01-16\",url:\"https://envshare.dev\",repository:\"chronark/envshare\"};function Re(l){let n=Object.assign({p:\"p\",strong:\"strong\",h2:\"h2\",a:\"a\",span:\"span\",ul:\"ul\",li:\"li\",img:\"img\",h3:\"h3\",code:\"code\",h4:\"h4\",div:\"div\",pre:\"pre\"},l.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(n.p,{children:[`EnvShare is a simple tool to share environment variables securely. It uses\n`,(0,r.jsxDEV)(n.strong,{children:\"AES-GCM\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:11,columnNumber:1},this),` to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"features\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#features\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Features\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Shareable Links:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:16,columnNumber:3},this),` Share your environment variables securely by sending a\nlink`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"End-to-End Encryption:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:18,columnNumber:3},this),` AES-GCM encryption is used to encrypt your data\nbefore sending it to the server`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Limit number of reads:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:20,columnNumber:3},this),\" Limit the number of times a link can be read\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Auto Expire:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:21,columnNumber:3},this),` Automatically expire links and delete data after a certain\ntime`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.img,{src:\"https://github.com/chronark/envshare/raw/main/img/envshare.png\",alt:\"\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:26,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"built-with\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#built-with\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Built with\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://nextjs.org\",children:\"Next.js\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:30,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://tailwindcss.com\",children:\"tailwindcss\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:31,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Deployed on \",(0,r.jsxDEV)(n.a,{href:\"https://vercel.com?utm_source=envshare\",children:\"Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:32,columnNumber:15},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Data stored on \",(0,r.jsxDEV)(n.a,{href:\"https://upstash.com?utm_source=envshare\",children:\"Upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:33,columnNumber:18},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:33,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"deploy-your-own\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deploy-your-own\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Deploy your own\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Detailed instructions can be found \",(0,r.jsxDEV)(n.a,{href:\"https://envshare.dev/deploy\",children:\"here\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:37,columnNumber:36},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:`All you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.a,{href:\"https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17\",children:(0,r.jsxDEV)(n.img,{src:\"https://vercel.com/button\",alt:\"Deploy with Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:42,columnNumber:2},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:42,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"configuration\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#configuration\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Configuration\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"environment-variables\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#environment-variables\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Environment Variables\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[(0,r.jsxDEV)(n.code,{children:\"ENABLE_VERCEL_ANALYTICS\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:50,columnNumber:1},this),\" Any truthy value will enable Vercel Analytics. This is turned off by default\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"contributing\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:52,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This repository uses \",(0,r.jsxDEV)(n.code,{children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:54,columnNumber:22},this),` to manage dependencies. Install it using\n`,(0,r.jsxDEV)(n.code,{children:\"npm install -g pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:55,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:54,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Please run \",(0,r.jsxDEV)(n.code,{children:\"pnpm fmt\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:57,columnNumber:12},this),\" before committing to format the code.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:57,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"docs\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#docs\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Docs\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:59,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"Docs in the README are temporary and will be moved to the website soon.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"api\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#api\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"API\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"store-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#store-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Store a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.strong,{children:\"PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:67,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:67,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This endpoint is only meant to store \",(0,r.jsxDEV)(n.strong,{children:\"already encrypted\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:69,columnNumber:38},this),` secrets. The\nencrypted secrets are stored in plain text.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:69,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:72,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You can add optional headers to configure the ttl and number of reads.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:76,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:78,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-ttl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:82,columnNumber:16},this),` header will set a default of 30 days. Disable the\nttl by setting it to 0. (`,(0,r.jsxDEV)(n.code,{children:\"envshare-ttl: 0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:83,columnNumber:28},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-reads\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:84,columnNumber:16},this),` header will simply disable it and allow reading\nfor an unlimited number of times.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:84,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"This endpoint returns a JSON response with the secret id:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:87,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"id\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:110},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:148},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:218},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"ttl\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"86400\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:149},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:190},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"reads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:113},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"2\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:151},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:188},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"expiresAt\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:117},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"2023-01-19T20:47:28.383Z\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:155},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:227},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"url\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"retrieve-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#retrieve-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this),\"Retrieve a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:101,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You need an id to retrieve a secret. The id is returned when you store a secret.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:103,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:\"$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:105,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:114},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"Hello\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:152},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:205},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"remainingReads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:122},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:160},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:6,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:109,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(l={}){let{wrapper:n}=l.components||{};return n?(0,r.jsxDEV)(n,Object.assign({},l,{children:(0,r.jsxDEV)(Re,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-04a4d33c-3d27-4256-810b-385bc2834cac.mdx\"},this):Re(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;" + "code": "var Component=(()=>{var ln=Object.create;var O=Object.defineProperty;var dn=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var mn=Object.getPrototypeOf,bn=Object.prototype.hasOwnProperty;var X=(d,n)=>()=>(n||d((n={exports:{}}).exports,n),n.exports),hn=(d,n)=>{for(var _ in n)O(d,_,{get:n[_],enumerable:!0})},ye=(d,n,_,x)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let k of un(n))!bn.call(d,k)&&k!==_&&O(d,k,{get:()=>n[k],enumerable:!(x=dn(n,k))||x.enumerable});return d};var fn=(d,n,_)=>(_=d!=null?ln(mn(d)):{},ye(n||!d||!d.__esModule?O(_,\"default\",{value:d,enumerable:!0}):_,d)),_n=d=>ye(O({},\"__esModule\",{value:!0}),d);var ve=X((gn,ge)=>{ge.exports=React});var Ee=X(H=>{\"use strict\";(function(){\"use strict\";var d=ve(),n=Symbol.for(\"react.element\"),_=Symbol.for(\"react.portal\"),x=Symbol.for(\"react.fragment\"),k=Symbol.for(\"react.strict_mode\"),q=Symbol.for(\"react.profiler\"),K=Symbol.for(\"react.provider\"),z=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\"),L=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 t=J&&e[J]||e[Te];return typeof t==\"function\"?t:null}var g=d.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(e){{for(var t=arguments.length,a=new Array(t>1?t-1:0),o=1;o=1&&m>=0&&s[u]!==h[m];)m--;for(;u>=1&&m>=0;u--,m--)if(s[u]!==h[m]){if(u!==1||m!==1)do if(u--,m--,m<0||s[u]!==h[m]){var f=`\n`+s[u].replace(\" at new \",\" at \");return e.displayName&&f.includes(\"\")&&(f=f.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,f),f}while(u>=1&&m>=0);break}}}finally{V=!1,I.current=l,Ve(),Error.prepareStackTrace=c}var E=e?e.displayName||e.name:\"\",xe=E?T(E):\"\";return typeof e==\"function\"&&w.set(e,xe),xe}function $e(e,t,a){return ce(e,!1)}function Me(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function S(e,t,a){if(e==null)return\"\";if(typeof e==\"function\")return ce(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 $e(e.render);case F:return S(e.type,t,a);case L:{var o=e,c=o._payload,l=o._init;try{return S(l(c),t,a)}catch{}}}return\"\"}var C=Object.prototype.hasOwnProperty,le={},de=g.ReactDebugCurrentFrame;function P(e){if(e){var t=e._owner,a=S(e.type,e._source,t?t.type:null);de.setExtraStackFrame(a)}else de.setExtraStackFrame(null)}function We(e,t,a,o,c){{var l=Function.call.bind(C);for(var i in e)if(l(e,i)){var s=void 0;try{if(typeof e[i]!=\"function\"){var h=Error((o||\"React class\")+\": \"+a+\" 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}s=e[i](t,i,o,a,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(u){s=u}s&&!(s instanceof Error)&&(P(c),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\",a,i,typeof s),P(null)),s instanceof Error&&!(s.message in le)&&(le[s.message]=!0,P(c),b(\"Failed %s type: %s\",a,s.message),P(null))}}}var Ge=Array.isArray;function Y(e){return Ge(e)}function Xe(e){{var t=typeof Symbol==\"function\"&&Symbol.toStringTag,a=t&&e[Symbol.toStringTag]||e.constructor.name||\"Object\";return a}}function He(e){try{return ue(e),!1}catch{return!0}}function ue(e){return\"\"+e}function me(e){if(He(e))return b(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Xe(e)),ue(e)}var U=g.ReactCurrentOwner,qe={key:!0,ref:!0,__self:!0,__source:!0},be,he,$;$={};function Ke(e){if(C.call(e,\"ref\")){var t=Object.getOwnPropertyDescriptor(e,\"ref\").get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function ze(e){if(C.call(e,\"key\")){var t=Object.getOwnPropertyDescriptor(e,\"key\").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function Je(e,t){if(typeof e.ref==\"string\"&&U.current&&t&&U.current.stateNode!==t){var a=p(U.current.type);$[a]||(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(U.current.type),e.ref),$[a]=!0)}}function Ze(e,t){{var a=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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:a,configurable:!0})}}function Qe(e,t){{var a=function(){he||(he=!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)\",t))};a.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:a,configurable:!0})}}var en=function(e,t,a,o,c,l,i){var s={$$typeof:n,type:e,key:t,ref:a,props:i,_owner:l};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(e,t,a,o,c){{var l,i={},s=null,h=null;a!==void 0&&(me(a),s=\"\"+a),ze(t)&&(me(t.key),s=\"\"+t.key),Ke(t)&&(h=t.ref,Je(t,c));for(l in t)C.call(t,l)&&!qe.hasOwnProperty(l)&&(i[l]=t[l]);if(e&&e.defaultProps){var u=e.defaultProps;for(l in u)i[l]===void 0&&(i[l]=u[l])}if(s||h){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;s&&Ze(i,m),h&&Qe(i,m)}return en(e,s,h,c,o,U.current,i)}}var M=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function v(e){if(e){var t=e._owner,a=S(e.type,e._source,t?t.type:null);fe.setExtraStackFrame(a)}else fe.setExtraStackFrame(null)}var W;W=!1;function G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===n}function _e(){{if(M.current){var e=p(M.current.type);if(e)return`\n\nCheck the render method of \\``+e+\"`.\"}return\"\"}}function rn(e){{if(e!==void 0){var t=e.fileName.replace(/^.*[\\\\\\/]/,\"\"),a=e.lineNumber;return`\n\nCheck your code at `+t+\":\"+a+\".\"}return\"\"}}var pe={};function tn(e){{var t=_e();if(!t){var a=typeof e==\"string\"?e:e.displayName||e.name;a&&(t=`\n\nCheck the top-level render call using <`+a+\">.\")}return t}}function Ne(e,t){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var a=tn(t);if(pe[a])return;pe[a]=!0;var o=\"\";e&&e._owner&&e._owner!==M.current&&(o=\" It was passed a child from \"+p(e._owner.type)+\".\"),v(e),b('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',a,o),v(null)}}function ke(e,t){{if(typeof e!=\"object\")return;if(Y(e))for(var a=0;a\",s=\" Did you accidentally export a JSX literal instead of a component?\"):u=typeof e,b(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",u,s)}var m=nn(e,t,a,c,l);if(m==null)return m;if(i){var f=t.children;if(f!==void 0)if(o)if(Y(f)){for(var E=0;E{\"use strict\";je.exports=Ee()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var r=fn(Ue()),pn={title:\"envshare.dev\",description:\"EnvShare is a simple tool to share environment variables securely. It uses AES-GCM to encrypt your data before sending it to the server. The encryption key never leaves your browser.\",date:\"2023-01-16\",url:\"https://envshare.dev\",repository:\"chronark/envshare\",published:!0};function Re(d){let n=Object.assign({p:\"p\",strong:\"strong\",h2:\"h2\",a:\"a\",span:\"span\",ul:\"ul\",li:\"li\",img:\"img\",h3:\"h3\",code:\"code\",h4:\"h4\",div:\"div\",pre:\"pre\"},d.components);return(0,r.jsxDEV)(r.Fragment,{children:[(0,r.jsxDEV)(n.p,{children:[`EnvShare is a simple tool to share environment variables securely. It uses\n`,(0,r.jsxDEV)(n.strong,{children:\"AES-GCM\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:11,columnNumber:1},this),` to encrypt your data before sending it to the server. The encryption\nkey never leaves your browser.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"features\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#features\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Features\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Shareable Links:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:3},this),` Share your environment variables securely by sending a\nlink`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"End-to-End Encryption:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:18,columnNumber:3},this),` AES-GCM encryption is used to encrypt your data\nbefore sending it to the server`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:18,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Limit number of reads:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:20,columnNumber:3},this),\" Limit the number of times a link can be read\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[(0,r.jsxDEV)(n.strong,{children:\"Auto Expire:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:21,columnNumber:3},this),` Automatically expire links and delete data after a certain\ntime`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:21,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.img,{src:\"https://github.com/chronark/envshare/raw/main/img/envshare.png\",alt:\"\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:26,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"built-with\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#built-with\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Built with\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:28,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://nextjs.org\",children:\"Next.js\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:(0,r.jsxDEV)(n.a,{href:\"https://tailwindcss.com\",children:\"tailwindcss\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:31,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Deployed on \",(0,r.jsxDEV)(n.a,{href:\"https://vercel.com?utm_source=envshare\",children:\"Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:32,columnNumber:15},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:32,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Data stored on \",(0,r.jsxDEV)(n.a,{href:\"https://upstash.com?utm_source=envshare\",children:\"Upstash\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:33,columnNumber:18},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:33,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:30,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"deploy-your-own\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deploy-your-own\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Deploy your own\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:35,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Detailed instructions can be found \",(0,r.jsxDEV)(n.a,{href:\"https://envshare.dev/deploy\",children:\"here\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:37,columnNumber:36},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:37,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:`All you need is a Redis database on Upstash and a Vercel account. Click the\nbutton below to clone and deploy:`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:39,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.a,{href:\"https://vercel.com/new/clone?demo-title=EnvShare&demo-description=Simple%20Next.js%20%2B%20Upstash%20app%20to%20share%20environment%20variables%20securely%20using%20AES-GCM%20encryption.&demo-url=https%3A%2F%2Fenvshare.dev%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F5SaFBHXp5FBFJbsTzVqIJ3%2Ff0f8382369b7642fd8103debb9025c11%2Fenvshare.png&project-name=EnvShare&repository-name=envshare&repository-url=https%3A%2F%2Fgithub.com%2Fchronark%2Fenvshare&from=templates&integration-ids=oac_V3R1GIpkoJorr6fqyiwdhl17\",children:(0,r.jsxDEV)(n.img,{src:\"https://vercel.com/button\",alt:\"Deploy with Vercel\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:2},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:42,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"configuration\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#configuration\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Configuration\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:46,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"environment-variables\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#environment-variables\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Environment Variables\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:48,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[(0,r.jsxDEV)(n.code,{children:\"ENABLE_VERCEL_ANALYTICS\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:50,columnNumber:1},this),\" Any truthy value will enable Vercel Analytics. This is turned off by default\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:50,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"contributing\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:52,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This repository uses \",(0,r.jsxDEV)(n.code,{children:\"pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:54,columnNumber:22},this),` to manage dependencies. Install it using\n`,(0,r.jsxDEV)(n.code,{children:\"npm install -g pnpm\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:55,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:54,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"Please run \",(0,r.jsxDEV)(n.code,{children:\"pnpm fmt\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:57,columnNumber:12},this),\" before committing to format the code.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:57,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h2,{id:\"docs\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#docs\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Docs\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:59,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"Docs in the README are temporary and will be moved to the website soon.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:61,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h3,{id:\"api\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#api\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"API\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:63,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"store-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#store-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Store a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:65,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:(0,r.jsxDEV)(n.strong,{children:\"PLEASE NEVER EVER UPLOAD UNENCRYPTED SECRETS.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:67,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:67,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:[\"This endpoint is only meant to store \",(0,r.jsxDEV)(n.strong,{children:\"already encrypted\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:69,columnNumber:38},this),` secrets. The\nencrypted secrets are stored in plain text.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:69,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:72,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You can add optional headers to configure the ttl and number of reads.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:76,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:'$ curl -XPOST -s https://envshare.dev/api/v1/secret -d \"already-encrypted-secret\" -H \"envshare-ttl: 3600\" -H \"envshare-reads: 10\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:78,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.ul,{children:[`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-ttl\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:16},this),` header will set a default of 30 days. Disable the\nttl by setting it to 0. (`,(0,r.jsxDEV)(n.code,{children:\"envshare-ttl: 0\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:83,columnNumber:28},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.li,{children:[\"Omitting the \",(0,r.jsxDEV)(n.code,{children:\"envshare-reads\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:84,columnNumber:16},this),` header will simply disable it and allow reading\nfor an unlimited number of times.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:84,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:82,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"This endpoint returns a JSON response with the secret id:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:87,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"id\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:110},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:148},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:218},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"ttl\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"86400\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:149},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:190},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"reads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:113},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"2\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:151},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:188},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"expiresAt\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:117},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"2023-01-19T20:47:28.383Z\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:155},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:227},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"url\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:111},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"http://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:7,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:8,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:89,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.h4,{id:\"retrieve-a-secret\",children:[(0,r.jsxDEV)(n.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#retrieve-a-secret\",children:(0,r.jsxDEV)(n.span,{className:\"icon icon-link\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this),\"Retrieve a secret\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:101,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.p,{children:\"You need an id to retrieve a secret. The id is returned when you store a secret.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:103,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"sh-session\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#e1e4e8\"},children:\"$ curl -s https://envshare.dev/api/v1/secret/HdPbXgpvUvNk43oxSdK97u\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:105,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsxDEV)(n.pre,{\"data-language\":\"json\",\"data-theme\":\"default\",children:(0,r.jsxDEV)(n.code,{\"data-language\":\"json\",\"data-theme\":\"default\",children:[(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"{\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:104},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:85},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"data\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:58},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": {\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:2,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"secret\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:114},this),(0,r.jsxDEV)(n.span,{style:{color:\"#9ECBFF\"},children:'\"Hello\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:152},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\",\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:205},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:3,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:[(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:20},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:'\"remainingReads\"'},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:60},this),(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\": \"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:122},this),(0,r.jsxDEV)(n.span,{style:{color:\"#79B8FF\"},children:\"1\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:160},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:4,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\" }\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:5,columnNumber:1},this),`\n`,(0,r.jsxDEV)(n.span,{className:\"line\",children:(0,r.jsxDEV)(n.span,{style:{color:\"#E1E4E8\"},children:\"}\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:6,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:109,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\",lineNumber:1,columnNumber:1},this)}function Nn(d={}){let{wrapper:n}=d.components||{};return n?(0,r.jsxDEV)(n,Object.assign({},d,{children:(0,r.jsxDEV)(Re,d,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-9f80b318-b24e-4507-94a3-cb5b48624568.mdx\"},this):Re(d)}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/envshare.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__planetfall.mdx.json b/.contentlayer/generated/Project/projects__planetfall.mdx.json index a9816b1..95029e8 100644 --- a/.contentlayer/generated/Project/projects__planetfall.mdx.json +++ b/.contentlayer/generated/Project/projects__planetfall.mdx.json @@ -1,11 +1,12 @@ { + "published": true, "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.", + "description": "I'm building a SAAS providing 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": "\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 c=Object.create;var a=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var w=(o,t)=>()=>(t||o((t={exports:{}}).exports,t),t.exports),h=(o,t)=>{for(var n in t)a(o,n,{get:t[n],enumerable:!0})},l=(o,t,n,i)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let e of m(t))!p.call(o,e)&&e!==n&&a(o,e,{get:()=>t[e],enumerable:!(i=f(t,e))||i.enumerable});return o};var g=(o,t,n)=>(n=o!=null?c(y(o)):{},l(t||!o||!o.__esModule?a(n,\"default\",{value:o,enumerable:!0}):n,o)),b=o=>l(a({},\"__esModule\",{value:!0}),o);var d=w((j,s)=>{s.exports=_jsx_runtime});var I={};h(I,{default:()=>v,frontmatter:()=>A});var r=g(d()),A={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 u(o){let t=Object.assign({p:\"p\"},o.components);return(0,r.jsx)(t.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.\"})}function x(o={}){let{wrapper:t}=o.components||{};return t?(0,r.jsx)(t,Object.assign({},o,{children:(0,r.jsx)(u,o)})):u(o)}var v=x;return b(I);})();\n;return Component;" + "raw": "\n\nPlanetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world. \nPlanetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.", + "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 h in l)D(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,y)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let b of fr(l))!dr.call(s,b)&&b!==h&&D(s,b,{get:()=>l[b],enumerable:!(y=lr(l,b))||y.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!s||!s.__esModule?D(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=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\"),h=Symbol.for(\"react.portal\"),y=Symbol.for(\"react.fragment\"),b=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),H=Symbol.for(\"react.provider\"),K=Symbol.for(\"react.context\"),C=Symbol.for(\"react.forward_ref\"),I=Symbol.for(\"react.suspense\"),W=Symbol.for(\"react.suspense_list\"),O=Symbol.for(\"react.memo\"),Y=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&&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,$.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 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 W:return S(\"SuspenseList\")}if(typeof e==\"object\")switch(e.$$typeof){case C:return Ue(e.render);case O:return k(e.type,r,t);case Y:{var n=e,i=n._payload,u=n._init;try{return k(u(i),r,t)}catch{}}}return\"\"}var x=Object.prototype.hasOwnProperty,le={},fe=_.ReactDebugCurrentFrame;function A(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)&&(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,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,U;U={};function He(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 Ke(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\"&&P.current&&r&&P.current.stateNode!==r){var t=m(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',m(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),He(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 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,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 G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===l}function me(){{if(L.current){var e=m(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=me();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 be(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 \"+m(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:()=>br,frontmatter:()=>mr});var F=pr(Ce()),mr={title:\"planetfall.io\",description:\"I'm building a SAAS providing 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\",published:!0};function Oe(s){let l=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(l.p,{children:`Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world.\nPlanetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust.`},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\",lineNumber:11,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-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e9522400-f185-40ad-8df0-2d91f99fdbba.mdx\"},this):Oe(s)}var br=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/planetfall.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__qstash.mdx.json b/.contentlayer/generated/Project/projects__qstash.mdx.json index 4c8d125..9adaf11 100644 --- a/.contentlayer/generated/Project/projects__qstash.mdx.json +++ b/.contentlayer/generated/Project/projects__qstash.mdx.json @@ -1,11 +1,12 @@ { + "published": true, "title": "QStash", "description": "QStash is a fully managed serverless queue and messaging service designed for the serverless era.", "date": "2022-07-18T00:00:00.000Z", "url": "https://upstash.com/qstash", "body": { "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 d=Object.create;var r=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var g=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),v=(n,e)=>{for(var t in e)r(n,t,{get:e[t],enumerable:!0})},o=(n,e,t,i)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of m(e))!f.call(n,a)&&a!==t&&r(n,a,{get:()=>e[a],enumerable:!(i=u(e,a))||i.enumerable});return n};var w=(n,e,t)=>(t=n!=null?d(p(n)):{},o(e||!n||!n.__esModule?r(t,\"default\",{value:n,enumerable:!0}):t,n)),y=n=>o(r({},\"__esModule\",{value:!0}),n);var c=g((Q,l)=>{l.exports=_jsx_runtime});var x={};v(x,{default:()=>P,frontmatter:()=>b});var s=w(c()),b={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 h(n){let e=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},n.components);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:\"QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"100% serverless, no stateful connections required. Messages are pushed to your API.\"}),`\n`,(0,s.jsx)(e.li,{children:\"At-least-once delivery guaranteed to any public API\"}),`\n`,(0,s.jsx)(e.li,{children:\"Pubsub via topics\"}),`\n`,(0,s.jsx)(e.li,{children:\"Delay message delivery\"}),`\n`,(0,s.jsx)(e.li,{children:\"Message deduplication\"}),`\n`,(0,s.jsx)(e.li,{children:\"Scheduling via CRON\"}),`\n`]}),`\n`,(0,s.jsx)(e.p,{children:\"Formally, QStash is a message queue and task scheduler designed for serverless runtimes. Informally, QStash is a glue for your serverless functions.\"}),`\n`,(0,s.jsx)(e.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):\"}),`\n`,(0,s.jsxs)(e.ul,{children:[`\n`,(0,s.jsx)(e.li,{children:\"Works anywhere including serverless and edge.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Messaging as a service with no backend for users to run.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Lightweight, easy to understand, requires nothing to learn.\"}),`\n`,(0,s.jsx)(e.li,{children:\"Price scales to zero.\"}),`\n`]}),`\n`,(0,s.jsx)(e.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.\"}),`\n`,(0,s.jsx)(e.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.\"}),`\n`,(0,s.jsx)(e.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.\"}),`\n`,(0,s.jsxs)(e.p,{children:[\"To learn more about QStash, visit \",(0,s.jsx)(e.a,{href:\"upstash.com/qstash\",children:\"upstash.com/qstash\"}),\".\"]})]})}function S(n={}){let{wrapper:e}=n.components||{};return e?(0,s.jsx)(e,Object.assign({},n,{children:(0,s.jsx)(h,n)})):h(n)}var P=S;return y(x);})();\n;return Component;" + "code": "var Component=(()=>{var ur=Object.create;var F=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var lr=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,dr=Object.prototype.hasOwnProperty;var B=(l,t)=>()=>(t||l((t={exports:{}}).exports,t),t.exports),hr=(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))!dr.call(l,g)&&g!==v&&F(l,g,{get:()=>t[g],enumerable:!(y=cr(t,g))||y.enumerable});return l};var mr=(l,t,v)=>(v=l!=null?ur(fr(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 h(e){{for(var r=arguments.length,n=new Array(r>1?r-1:0),a=1;a=1&&d>=0&&o[f]!==m[d];)d--;for(;f>=1&&d>=0;f--,d--)if(o[f]!==m[d]){if(f!==1||d!==1)do if(f--,d--,d<0||o[f]!==m[d]){var b=`\n`+o[f].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&S.set(e,b),b}while(f>=1&&d>=0);break}}}finally{M=!1,W.current=u,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 ue(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 ue(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,u=a._init;try{return C(u(s),r,n)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,ce={},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 u=Function.call.bind(O);for(var i in e)if(u(e,i)){var o=void 0;try{if(typeof e[i]!=\"function\"){var m=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 m.name=\"Invariant Violation\",m}o=e[i](r,i,a,n,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(f){o=f}o&&!(o instanceof Error)&&(D(s),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).\",a||\"React class\",n,i,typeof o),D(null)),o instanceof Error&&!(o.message in ce)&&(ce[o.message]=!0,D(s),h(\"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 fe(e),!1}catch{return!0}}function fe(e){return\"\"+e}function de(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Be(e)),fe(e)}var N=k.ReactCurrentOwner,Ge={key:!0,ref:!0,__self:!0,__source:!0},he,me,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]||(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(N.current.type),e.ref),V[n]=!0)}}function Je(e,r){{var n=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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"key\",{get:n,configurable:!0})}}function Ze(e,r){{var n=function(){me||(me=!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)\",r))};n.isReactWarning=!0,Object.defineProperty(e,\"ref\",{get:n,configurable:!0})}}var er=function(e,r,n,a,s,u,i){var o={$$typeof:t,type:e,key:r,ref:n,props:i,_owner:u};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 u,i={},o=null,m=null;n!==void 0&&(de(n),o=\"\"+n),He(r)&&(de(r.key),o=\"\"+r.key),Xe(r)&&(m=r.ref,Ke(r,s));for(u in r)O.call(r,u)&&!Ge.hasOwnProperty(u)&&(i[u]=r[u]);if(e&&e.defaultProps){var f=e.defaultProps;for(u in f)i[u]===void 0&&(i[u]=f[u])}if(o||m){var d=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Je(i,d),m&&Ze(i,d)}return er(e,o,m,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),h('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?\"):f=typeof e,h(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",f,o)}var d=rr(e,r,n,s,u);if(d==null)return d;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={};hr(gr,{default:()=>_r,frontmatter:()=>vr});var c=mr(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\",published:!0};function Te(l){let t=Object.assign({p:\"p\",ul:\"ul\",li:\"li\",a:\"a\"},l.components);return(0,c.jsxDEV)(c.Fragment,{children:[(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:10,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.ul,{children:[`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:13,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Pubsub via topics\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:14,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Delay message delivery\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:15,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Message deduplication\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:16,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Scheduling via CRON\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:17,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:12,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:20,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:22,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.ul,{children:[`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:25,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:26,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.li,{children:\"Price scales to zero.\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:27,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:24,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:29,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:31,columnNumber:1},this),`\n`,(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:33,columnNumber:1},this),`\n`,(0,c.jsxDEV)(t.p,{children:[\"To learn more about QStash, visit \",(0,c.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-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:36,columnNumber:35},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:36,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\",lineNumber:1,columnNumber:1},this)}function pr(l={}){let{wrapper:t}=l.components||{};return t?(0,c.jsxDEV)(t,Object.assign({},l,{children:(0,c.jsxDEV)(Te,l,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-174140f5-c063-4967-845a-79db15aa866f.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__terraform-provider-vercel.mdx.json b/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json index b88f594..aca3b7e 100644 --- a/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json +++ b/.contentlayer/generated/Project/projects__terraform-provider-vercel.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "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", @@ -6,7 +7,7 @@ "repository": "chronark/terraform-provider-vercel", "body": { "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 p=Object.create;var a=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var F=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),f=(n,e)=>{for(var l in e)a(n,l,{get:e[l],enumerable:!0})},o=(n,e,l,c)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let s of E(e))!m.call(n,s)&&s!==l&&a(n,s,{get:()=>e[s],enumerable:!(c=h(e,s))||c.enumerable});return n};var v=(n,e,l)=>(l=n!=null?p(y(n)):{},o(e||!n||!n.__esModule?a(l,\"default\",{value:n,enumerable:!0}):l,n)),u=n=>o(a({},\"__esModule\",{value:!0}),n);var i=F((_,t)=>{t.exports=_jsx_runtime});var w={};f(w,{default:()=>g,frontmatter:()=>B});var r=v(i()),B={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 d(n){let e=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},n.components);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(e.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.`}),`\n`,(0,r.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,r.jsx)(e.pre,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:(0,r.jsxs)(e.code,{\"data-language\":\"hcl\",\"data-theme\":\"default\",children:[(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"terraform\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"required_providers\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" vercel\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"{\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" source \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"registry.terraform.io/chronark/vercel\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" version \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\">=0.10.3\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"provider\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"vercel\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" token\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"resource\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"vercel_project\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#79B8FF\"},children:'\"my_project\"'}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" name\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"project-via-terraform\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"git_repository\"}),(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" type\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"github\"'})]}),`\n`,(0,r.jsxs)(e.span,{className:\"line\",children:[(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" repo\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,r.jsx)(e.span,{style:{color:\"#FFAB70\"},children:\" \"}),(0,r.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"chronark/terraform-provider-vercel\"'})]}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }\"})}),`\n`,(0,r.jsx)(e.span,{className:\"line\",children:(0,r.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})})]})})}),`\n`,(0,r.jsx)(e.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.`}),`\n`,(0,r.jsx)(e.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.\"}),`\n`,(0,r.jsxs)(e.p,{children:[\"Now that Vercel have stepped in, I have decided to \",(0,r.jsx)(e.a,{href:\"https://twitter.com/chronark_/status/1517759708983177218\",children:\"deprecate\"}),\" this one on April 23rd 2022.\"]}),`\n`,(0,r.jsxs)(e.p,{children:[\"Please use the \",(0,r.jsx)(e.a,{href:\"https://registry.terraform.io/providers/vercel/vercel/latest\",children:\"official provider\"}),\" instead.\"]})]})}function N(n={}){let{wrapper:e}=n.components||{};return e?(0,r.jsx)(e,Object.assign({},n,{children:(0,r.jsx)(d,n)})):d(n)}var g=N;return u(w);})();\n;return Component;" + "code": "var Component=(()=>{var ir=Object.create;var S=Object.defineProperty;var lr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var dr=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var G=(u,r)=>()=>(r||u((r={exports:{}}).exports,r),r.exports),hr=(u,r)=>{for(var _ in r)S(u,_,{get:r[_],enumerable:!0})},ve=(u,r,_,k)=>{if(r&&typeof r==\"object\"||typeof r==\"function\")for(let y of ur(r))!mr.call(u,y)&&y!==_&&S(u,y,{get:()=>r[y],enumerable:!(k=lr(r,y))||k.enumerable});return u};var fr=(u,r,_)=>(_=u!=null?ir(dr(u)):{},ve(r||!u||!u.__esModule?S(_,\"default\",{value:u,enumerable:!0}):_,u)),br=u=>ve(S({},\"__esModule\",{value:!0}),u);var ge=G((vr,xe)=>{xe.exports=React});var Ee=G(z=>{\"use strict\";(function(){\"use strict\";var u=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=u.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function h(e){{for(var a=arguments.length,t=new Array(a>1?a-1:0),c=1;c=1&&m>=0&&o[d]!==f[m];)m--;for(;d>=1&&m>=0;d--,m--)if(o[d]!==f[m]){if(d!==1||m!==1)do if(d--,m--,m<0||o[d]!==f[m]){var b=`\n`+o[d].replace(\" at new \",\" at \");return e.displayName&&b.includes(\"\")&&(b=b.replace(\"\",e.displayName)),typeof e==\"function\"&&w.set(e,b),b}while(d>=1&&m>=0);break}}}finally{Y=!1,I.current=l,Ye(),Error.prepareStackTrace=i}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 ie(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 ie(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 c=e,i=c._payload,l=c._init;try{return C(l(i),a,t)}catch{}}}return\"\"}var O=Object.prototype.hasOwnProperty,le={},ue=x.ReactDebugCurrentFrame;function P(e){if(e){var a=e._owner,t=C(e.type,e._source,a?a.type:null);ue.setExtraStackFrame(t)}else ue.setExtraStackFrame(null)}function Le(e,a,t,c,i){{var l=Function.call.bind(O);for(var s in e)if(l(e,s)){var o=void 0;try{if(typeof e[s]!=\"function\"){var f=Error((c||\"React class\")+\": \"+t+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw f.name=\"Invariant Violation\",f}o=e[s](a,s,c,t,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(d){o=d}o&&!(o instanceof Error)&&(P(i),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).\",c||\"React class\",t,s,typeof o),P(null)),o instanceof Error&&!(o.message in le)&&(le[o.message]=!0,P(i),h(\"Failed %s type: %s\",t,o.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 de(e),!1}catch{return!0}}function de(e){return\"\"+e}function me(e){if(ze(e))return h(\"The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.\",Ge(e)),de(e)}var U=x.ReactCurrentOwner,Ke={key:!0,ref:!0,__self:!0,__source:!0},he,fe,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]||(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(U.current.type),e.ref),W[t]=!0)}}function Ze(e,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(e,\"key\",{get:t,configurable:!0})}}function Qe(e,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(e,\"ref\",{get:t,configurable:!0})}}var er=function(e,a,t,c,i,l,s){var o={$$typeof:r,type:e,key:a,ref:t,props:s,_owner:l};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:c}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function rr(e,a,t,c,i){{var l,s={},o=null,f=null;t!==void 0&&(me(t),o=\"\"+t),He(a)&&(me(a.key),o=\"\"+a.key),Xe(a)&&(f=a.ref,Je(a,i));for(l in a)O.call(a,l)&&!Ke.hasOwnProperty(l)&&(s[l]=a[l]);if(e&&e.defaultProps){var d=e.defaultProps;for(l in d)s[l]===void 0&&(s[l]=d[l])}if(o||f){var m=typeof e==\"function\"?e.displayName||e.name||\"Unknown\":e;o&&Ze(s,m),f&&Qe(s,m)}return er(e,o,f,i,c,U.current,s)}}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 c=\"\";e&&e._owner&&e._owner!==M.current&&(c=\" It was passed a child from \"+p(e._owner.type)+\".\"),g(e),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,c),g(null)}}function ye(e,a){{if(typeof e!=\"object\")return;if($(e))for(var t=0;t\",o=\" Did you accidentally export a JSX literal instead of a component?\"):d=typeof e,h(\"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 m=rr(e,a,t,i,l);if(m==null)return m;if(s){var b=a.children;if(b!==void 0)if(c)if($(b)){for(var E=0;E{\"use strict\";je.exports=Ee()});var yr={};hr(yr,{default:()=>Nr,frontmatter:()=>_r});var n=fr(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\",published:!0};function Re(u){let r=Object.assign({p:\"p\",div:\"div\",pre:\"pre\",code:\"code\",span:\"span\",a:\"a\"},u.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:12,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:149},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:2,columnNumber:112},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:3,columnNumber:177},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:4,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:5,columnNumber:144},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:10,columnNumber:155},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:11,columnNumber:174},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:14,columnNumber:258},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:15,columnNumber:173},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:16,columnNumber:108},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:17,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:18,columnNumber:175},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:20,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:16,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:39,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:42,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:44,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:44,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-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:46,columnNumber:16},this),\" instead.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:46,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\",lineNumber:1,columnNumber:1},this)}function pr(u={}){let{wrapper:r}=u.components||{};return r?(0,n.jsxDEV)(r,Object.assign({},u,{children:(0,n.jsxDEV)(Re,u,void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-43707aa1-1582-45e9-9dc6-bac749aca4c9.mdx\"},this):Re(u)}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-auth-analytics.mdx.json b/.contentlayer/generated/Project/projects__upstash-auth-analytics.mdx.json index eaeba26..bed0f4f 100644 --- a/.contentlayer/generated/Project/projects__upstash-auth-analytics.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-auth-analytics.mdx.json @@ -5,7 +5,7 @@ "repository": "upstash/auth-analytics", "body": { "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var A=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)A(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&&A(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?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 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\"),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[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{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,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 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 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(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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(we()),hr={title:\"Upstash Auth Analytics\",description:\"A library to record and analyse Auth.js user behaviour\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/auth-analytics\"};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-ae561c07-b969-41f2-9b94-1fedeb76e60a.mdx\",lineNumber:9,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,F.jsxDEV)(c,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-ae561c07-b969-41f2-9b94-1fedeb76e60a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-ae561c07-b969-41f2-9b94-1fedeb76e60a.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;" + "code": "var Component=(()=>{var sr=Object.create;var A=Object.defineProperty;var fr=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var lr=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)A(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&&A(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?A(h,\"default\",{value:s,enumerable:!0}):h,s)),hr=s=>_e(A({},\"__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\"),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[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 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 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.\",qe(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=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),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 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&&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=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?\"):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 F=pr(we()),br={title:\"Upstash Auth Analytics\",description:\"A library to record and analyse Auth.js user behaviour\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/auth-analytics\"};function Pe(s){let f=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(f.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e491d153-3318-4404-b9cc-ddf66fe9f45f.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:f}=s.components||{};return f?(0,F.jsxDEV)(f,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-e491d153-3318-4404-b9cc-ddf66fe9f45f.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-e491d153-3318-4404-b9cc-ddf66fe9f45f.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;" }, "_id": "projects/upstash-auth-analytics.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-cli.mdx.json b/.contentlayer/generated/Project/projects__upstash-cli.mdx.json index 83e8307..5ae128e 100644 --- a/.contentlayer/generated/Project/projects__upstash-cli.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-cli.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "@upstash/cli", "description": "A CLI to provision and manage Upstash resources, including Redis and Kafka databases.", "date": "2022-05-16T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/cli", "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 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 fr(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(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=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\"),K=Symbol.for(\"react.profiler\"),X=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:\"\",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,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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Ke={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 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),Xe(r)&&(v=r.ref,Je(r,i));for(u in r)k.call(r,u)&&!Ke.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,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(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:()=>hr});var A=pr(we()),hr={title:\"@upstash/cli\",description:\"A CLI to provision and manage Upstash resources, including Redis and Kafka databases.\",date:\"2022-05-16\",url:\"https://upstash.com/cli\",repository:\"upstash/cli\"};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-6c0764d5-d70c-426e-bbb5-f080d7d335f3.mdx\",lineNumber:10,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-6c0764d5-d70c-426e-bbb5-f080d7d335f3.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6c0764d5-d70c-426e-bbb5-f080d7d335f3.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;" + "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 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 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=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\"),K=Symbol.for(\"react.profiler\"),X=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[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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Ke={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 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 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)k.call(r,u)&&!Ke.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&&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=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?\"):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:\"@upstash/cli\",description:\"A CLI to provision and manage Upstash resources, including Redis and Kafka databases.\",date:\"2022-05-16\",url:\"https://upstash.com/cli\",repository:\"upstash/cli\",published:!0};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-4eb0fa00-eee7-4578-99c3-55a7c326fffe.mdx\",lineNumber:11,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-4eb0fa00-eee7-4578-99c3-55a7c326fffe.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-4eb0fa00-eee7-4578-99c3-55a7c326fffe.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;" }, "_id": "projects/upstash-cli.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-core-analytics.mdx.json b/.contentlayer/generated/Project/projects__upstash-core-analytics.mdx.json index a8ec0f3..ae3c0d1 100644 --- a/.contentlayer/generated/Project/projects__upstash-core-analytics.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-core-analytics.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "Upstash Core Analytics", "description": "Low level utilities to build analytics tools on top of Redis.", "date": "2023-02-13T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/core-analytics", "body": { "raw": "\nTODO:", - "code": "var Component=(()=>{var sr=Object.create;var F=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 h in l)F(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of cr(l))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(fr(s)):{},_e(l||!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(),l=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 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 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,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 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 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),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 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,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===l}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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>br});var A=pr(we()),br={title:\"Upstash Core Analytics\",description:\"Low level utilities to build analytics tools on top of Redis.\",date:\"2023-02-13\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/core-analytics\"};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93e52e03-a3e6-4365-84e4-0991fb72d0ac.mdx\",lineNumber:10,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-93e52e03-a3e6-4365-84e4-0991fb72d0ac.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93e52e03-a3e6-4365-84e4-0991fb72d0ac.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;" + "code": "var Component=(()=>{var sr=Object.create;var F=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)F(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&&F(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?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(),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\"),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&&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 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,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 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: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),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 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,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===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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var A=pr(we()),hr={title:\"Upstash Core Analytics\",description:\"Low level utilities to build analytics tools on top of Redis.\",date:\"2023-02-13\",url:\"https://console.upstash.com/ratelimit\",repository:\"upstash/core-analytics\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-19540f58-fb17-4699-b4c6-0cb9420afdb1.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-19540f58-fb17-4699-b4c6-0cb9420afdb1.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-19540f58-fb17-4699-b4c6-0cb9420afdb1.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;" }, "_id": "projects/upstash-core-analytics.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-edge-flags.mdx.json b/.contentlayer/generated/Project/projects__upstash-edge-flags.mdx.json index 9a60a81..570c54f 100644 --- a/.contentlayer/generated/Project/projects__upstash-edge-flags.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-edge-flags.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "@upstash/edge-flags", "description": "Featues flags for your edge functions.", "date": "2022-12-12T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/edge-flags", "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 q=(s,f)=>()=>(f||s((f={exports:{}}).exports,f),f.exports),vr=(s,f)=>{for(var g in f)F(s,g,{get:f[g],enumerable:!0})},_e=(s,f,g,E)=>{if(f&&typeof f==\"object\"||typeof f==\"function\")for(let m of cr(f))!dr.call(s,m)&&m!==g&&F(s,m,{get:()=>f[m],enumerable:!(E=fr(f,m))||E.enumerable});return s};var pr=(s,f,g)=>(g=s!=null?sr(lr(s)):{},_e(f||!s||!s.__esModule?F(g,\"default\",{value:s,enumerable:!0}):g,s)),gr=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\"),g=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 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[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 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 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.\",qe(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 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),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 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&&Ze(o,l),v&&Qe(o,l)}return er(e,a,v,i,n,O.current,o)}}var L=_.ReactCurrentOwner,ge=_.ReactDebugCurrentFrame;function R(e){if(e){var r=e._owner,t=x(e.type,e._source,r?r.type:null);ge.setExtraStackFrame(t)}else ge.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 be={};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(be[t])return;be[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 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:()=>hr});var A=pr(we()),hr={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\"};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-a02e859f-43fa-40ca-bb10-a2afe415763c.mdx\",lineNumber:10,columnNumber:1},this)}function br(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-a02e859f-43fa-40ca-bb10-a2afe415763c.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-a02e859f-43fa-40ca-bb10-a2afe415763c.mdx\"},this):Pe(s)}var mr=br;return gr(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;" + "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 q=(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 cr(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(lr(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=q((_r,Re)=>{Re.exports=React});var Ce=q(z=>{\"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\"),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[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 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 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.\",qe(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=g(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',g(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),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 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&&Ze(o,l),v&&Qe(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 G(e){return typeof e==\"object\"&&e!==null&&e.$$typeof===f}function ge(){{if(L.current){var e=g(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 he={};function nr(e){{var r=ge();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(he[t])return;he[t]=!0;var n=\"\";e&&e._owner&&e._owner!==L.current&&(n=\" It was passed a child from \"+g(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:()=>gr});var A=pr(we()),gr={title:\"@upstash/edge-flags\",description:\"Featues flags for your edge functions.\",date:\"2022-12-12\",url:\"https://upstash.com/edge-flags\",repository:\"upstash/edge-flags\",published:!0};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-55f51b83-ce3b-423c-bad6-92589929a727.mdx\",lineNumber:11,columnNumber:1},this)}function hr(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-55f51b83-ce3b-423c-bad6-92589929a727.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-55f51b83-ce3b-423c-bad6-92589929a727.mdx\"},this):Pe(s)}var mr=hr;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;" }, "_id": "projects/upstash-edge-flags.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json b/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json index 9181a8e..169c658 100644 --- a/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-kafka.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "@upstash/kafka", "description": "A fully typed Kafka client built for Upstash Kafka and HTTP, perfect for serverless and edge runtimes", "date": "2022-01-08T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/upstash-kafka", "body": { "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 h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var u=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),F=(n,e)=>{for(var s in e)a(n,s,{get:e[s],enumerable:!0})},o=(n,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let c of E(e))!m.call(n,c)&&c!==s&&a(n,c,{get:()=>e[c],enumerable:!(r=p(e,c))||r.enumerable});return n};var g=(n,e,s)=>(s=n!=null?h(y(n)):{},o(e||!n||!n.__esModule?a(s,\"default\",{value:n,enumerable:!0}):s,n)),f=n=>o(a({},\"__esModule\",{value:!0}),n);var t=u((v,i)=>{i.exports=_jsx_runtime});var b={};F(b,{default:()=>B,frontmatter:()=>N});var l=g(t()),N={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 d(n){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\"},n.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(e.p,{children:[`An HTTP/REST based Kafka client built on top of\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/kafka/rest\",children:\"Upstash REST API\"}),\".\"]}),`\n`,(0,l.jsx)(e.p,{children:\"It is the only connectionless (HTTP based) Kafka client and designed for:\"}),`\n`,(0,l.jsxs)(e.ul,{children:[`\n`,(0,l.jsx)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"}),`\n`,(0,l.jsx)(e.li,{children:\"Cloudflare Workers (see the example)\"}),`\n`,(0,l.jsx)(e.li,{children:\"Fastly Compute@Edge\"}),`\n`,(0,l.jsx)(e.li,{children:\"Next.js Edge, Remix ...\"}),`\n`,(0,l.jsx)(e.li,{children:\"Client side web/mobile applications\"}),`\n`,(0,l.jsx)(e.li,{children:`WebAssembly and other environments where HTTP is preferred over TCP\nconnections.`}),`\n`]}),`\n`,(0,l.jsxs)(e.h1,{id:\"installation\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#installation\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Installation\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/kafka\"})]})})})}),`\n`,(0,l.jsxs)(e.h1,{id:\"quickstart\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quickstart\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Quickstart\"]}),`\n`,(0,l.jsxs)(e.h2,{id:\"auth\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#auth\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Auth\"]}),`\n`,(0,l.jsxs)(e.ol,{children:[`\n`,(0,l.jsxs)(e.li,{children:[\"Go to \",(0,l.jsx)(e.a,{href:\"https://console.upstash.com/kafka\",children:\"upstash\"}),\" and select your database.\"]}),`\n`,(0,l.jsxs)(e.li,{children:[\"Copy the \",(0,l.jsx)(e.code,{children:\"REST API\"}),\" secrets at the bottom of the page\"]}),`\n`]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Kafka } \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/kafka\"'})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"kafka\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"new\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Kafka\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" username: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" password: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"produce-a-single-message\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-a-single-message\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Produce a single message\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { hello: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" } \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// Objects will get serialized using `JSON.stringify`\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", message)\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"produce\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", message, {\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" timestamp: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"12345\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" key: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" headers: [{ key: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"traceId\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", value: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"85a9f12\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" }],\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"produce-multiple-messages\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#produce-multiple-messages\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Produce multiple messages.\"]}),`\n`,(0,l.jsx)(e.p,{children:\"The same options from the example above can be set for every message.\"}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"p\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"producer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"res\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" p.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"produceMany\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"([\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: { hello: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"world\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" {\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another.topic\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" value: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"another message\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// ...options\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"])\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"consume\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#consume\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Consume\"]}),`\n`,(0,l.jsx)(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.`}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"group_1\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"instance_1\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"test.topic\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"],\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoOffsetReset: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"earliest\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.p,{children:[`More examples can be found in the\n`,(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-kafka/blob/main/pkg/consumer.ts#L265\",children:\"docstring\"})]}),`\n`,(0,l.jsxs)(e.h2,{id:\"commit-manually\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#commit-manually\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Commit manually\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"While \",(0,l.jsx)(e.code,{children:\"consume\"}),` can handle committing automatically, you can also use\n`,(0,l.jsx)(e.code,{children:\"Consumer.commit\"}),\" to manually commit.\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"consumerGroupId\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"mygroup\"'})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"instanceId\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"myinstance\"'})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"topic\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"my.topic\"'})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consume\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topics: [topic],\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" autoCommit: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"false\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"for\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" (\"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"message\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"of\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" messages) {\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// message handling logic\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"commit\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" consumerGroupId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" instanceId,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: {\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: message.topic,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: message.partition,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: message.offset,\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" },\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"}\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"fetch\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#fetch\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Fetch\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"You can also manage offsets manually by using \",(0,l.jsx)(e.code,{children:\"Consumer.fetch\"})]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"typescript\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"c\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" kafka.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"consumer\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"()\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"messages\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" c.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"fetch\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" topic: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"greeting\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" partition: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"3\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" offset: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"42\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" timeout: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1000\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\",\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})})]})})}),`\n`,(0,l.jsxs)(e.h2,{id:\"examples\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#examples\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Examples\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"See \",(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-kafka/tree/main/examples\",children:\"/examples\"}),` as\nwell as various examples in the docstrings of each method.`]}),`\n`,(0,l.jsxs)(e.h1,{id:\"contributing\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#contributing\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Contributing\"]}),`\n`,(0,l.jsxs)(e.h2,{id:\"requirements\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#requirements\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Requirements\"]}),`\n`,(0,l.jsxs)(e.ul,{children:[`\n`,(0,l.jsxs)(e.li,{children:[(0,l.jsx)(e.a,{href:\"https://nodejs.org\",children:\"nodejs\"}),\" v14.x or higher\"]}),`\n`,(0,l.jsx)(e.li,{children:(0,l.jsx)(e.a,{href:\"https://pnpm.io/installation\",children:\"pnpm\"})}),`\n`]}),`\n`,(0,l.jsxs)(e.h2,{id:\"setup\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#setup\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Setup\"]}),`\n`,(0,l.jsxs)(e.ol,{start:\"0\",children:[`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[\"Install dependencies using \",(0,l.jsx)(e.code,{children:\"pnpm install\"})]}),`\n`]}),`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[`Create a kafka instance on upstash.\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-kafka-cluster\",children:\"docs\"})]}),`\n`]}),`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[\"Create the following topics: \",(0,l.jsx)(e.code,{children:\"blue\"}),\", \",(0,l.jsx)(e.code,{children:\"red\"}),\", \",(0,l.jsx)(e.code,{children:\"green\"}),`.\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/kafka#create-a-topic\",children:\"docs\"})]}),`\n`,(0,l.jsx)(e.p,{children:\"The partitions or retention settings don't matter at this time.\"}),`\n`]}),`\n`,(0,l.jsxs)(e.li,{children:[`\n`,(0,l.jsxs)(e.p,{children:[\"Create \",(0,l.jsx)(e.code,{children:\".env\"}),\" file with your kafka secrets \",(0,l.jsx)(e.code,{children:\"cp .env.example .env\"})]}),`\n`]}),`\n`]}),`\n`,(0,l.jsxs)(e.h2,{id:\"running-tests\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#running-tests\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Running tests\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"pnpm\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"test\"})]})})})})]})}function k(n={}){let{wrapper:e}=n.components||{};return e?(0,l.jsx)(e,Object.assign({},n,{children:(0,l.jsx)(d,n)})):d(n)}var B=k;return f(b);})();\n;return Component;" + "code": "var Component=(()=>{var dn=Object.create;var P=Object.defineProperty;var mn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var bn=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty;var G=(m,e)=>()=>(e||m((e={exports:{}}).exports,e),e.exports),hn=(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))!un.call(m,k)&&k!==_&&P(m,k,{get:()=>e[k],enumerable:!(x=mn(e,k))||x.enumerable});return m};var fn=(m,e,_)=>(_=m!=null?dn(bn(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 u(r){{for(var a=arguments.length,t=new Array(a>1?a-1:0),o=1;o=1&&b>=0&&s[l]!==h[b];)b--;for(;l>=1&&b>=0;l--,b--)if(s[l]!==h[b]){if(l!==1||b!==1)do if(l--,b--,b<0||s[l]!==h[b]){var f=`\n`+s[l].replace(\" at new \",\" at \");return r.displayName&&f.includes(\"\")&&(f=f.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,f),f}while(l>=1&&b>=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 h=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 h.name=\"Invariant Violation\",h}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),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,c,typeof s),B(null)),s instanceof Error&&!(s.message in ie)&&(ie[s.message]=!0,B(d),u(\"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 be(r){if(qe(r))return u(\"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},ue,he,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]||(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),r.ref),M[t]=!0)}}function Qe(r,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(r,\"key\",{get:t,configurable:!0})}}function Ze(r,a){{var t=function(){he||(he=!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(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,h=null;t!==void 0&&(be(t),s=\"\"+t),Xe(a)&&(be(a.key),s=\"\"+a.key),ze(a)&&(h=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||h){var b=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;s&&Qe(c,b),h&&Ze(c,b)}return en(r,s,h,d,o,v.current,c)}}var $=g.ReactCurrentOwner,fe=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,t=w(r.type,r._source,a?a.type:null);fe.setExtraStackFrame(t)}else fe.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),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 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,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 b=nn(r,a,t,d,i);if(b==null)return b;if(c){var f=a.children;if(f!==void 0)if(o)if(Y(f)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var n=fn(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\",published:!0};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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:1},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:12,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:15,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:18,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:19,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:20,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:21,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:22,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Installation\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:27,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Quickstart\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:31,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Auth\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:33,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,columnNumber:10},this),\" and select your database.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:36,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:36,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:35,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:141},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:151},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:38,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Produce a single message\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:48,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:353},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:472},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:110},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:230},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:50,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Produce multiple messages.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:62,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:64,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:375},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:123},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:10,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:11,columnNumber:60},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:12,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:66,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Consume\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:82,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:84,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:130},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:128},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:131},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:90,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:101,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:100,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Commit manually\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:103,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:105,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:106,columnNumber:1},this),\" to manually commit.\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:105,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:344},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:255},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:250},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:296},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:376},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:9,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:10,columnNumber:111},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:11,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:13,columnNumber:293},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:14,columnNumber:58},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:16,columnNumber:180},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:17,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:18,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:19,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:21,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:22,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:23,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:24,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:25,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:108,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Fetch\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:136,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:138,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:138,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:380},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:2,columnNumber:374},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:3,columnNumber:121},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:4,columnNumber:106},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:5,columnNumber:104},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:6,columnNumber:107},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:7,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:140,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Examples\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:150,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:152,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:152,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Contributing\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:155,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Requirements\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:157,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,columnNumber:3},this),\" v14.x or higher\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:160,columnNumber:3},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:160,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:159,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Setup\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:162,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,columnNumber:31},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:166,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:165,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:165,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:168,columnNumber:4},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:170,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:167,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:47},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:4},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:172,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:164,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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this),\"Running tests\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:174,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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:181},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\",lineNumber:176,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-f941a3c8-66a7-48df-b631-0b73ab779bde.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-f941a3c8-66a7-48df-b631-0b73ab779bde.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-qstash-sdk.mdx.json b/.contentlayer/generated/Project/projects__upstash-qstash-sdk.mdx.json index 076cd33..465b54b 100644 --- a/.contentlayer/generated/Project/projects__upstash-qstash-sdk.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-qstash-sdk.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "@upstash/qstash", "description": "A typescript client and consumer for QStash.", "date": "2022-07-18T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/sdk-qstash-ts", "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 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:\"\",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,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 qe(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 Be=Array.isArray;function V(e){return Be(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=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: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,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 q;q=!1;function B(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:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\"};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-c0ed3c5f-8329-457e-8b6a-3f06217a527b.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-c0ed3c5f-8329-457e-8b6a-3f06217a527b.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-c0ed3c5f-8329-457e-8b6a-3f06217a527b.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;" + "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 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:\"\",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,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 qe(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 Be=Array.isArray;function V(e){return Be(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=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: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,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 q;q=!1;function B(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:\"@upstash/qstash\",description:\"A typescript client and consumer for QStash.\",date:\"2022-07-18\",url:\"https://upstash.com/qstash\",repository:\"upstash/sdk-qstash-ts\",published:!0};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-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.mdx\",lineNumber:10,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-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-2f5760c4-1322-4e46-9d1d-1912b9ec4d97.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;" }, "_id": "projects/upstash-qstash-sdk.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-ratelimit.mdx.json b/.contentlayer/generated/Project/projects__upstash-ratelimit.mdx.json index ab2f990..085a3a4 100644 --- a/.contentlayer/generated/Project/projects__upstash-ratelimit.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-ratelimit.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "@upstash/ratelimit", "description": "Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.", "date": "2022-06-06T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/ratelimit", "body": { "raw": "\nTODO:", - "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 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 lr(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(fr(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=q((_r,Re)=>{Re.exports=React});var Ce=q(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 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{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,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 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 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 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,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===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?\"):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(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:\"@upstash/ratelimit\",description:\"Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.\",date:\"2022-06-06\",url:\"https://upstash.com/ratelimit\",repository:\"upstash/ratelimit\"};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-6ca1e42c-7c16-4c6d-b6c7-5fe6218e9bd6.mdx\",lineNumber:10,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-6ca1e42c-7c16-4c6d-b6c7-5fe6218e9bd6.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6ca1e42c-7c16-4c6d-b6c7-5fe6218e9bd6.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;" + "code": "var Component=(()=>{var sr=Object.create;var F=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 h in l)F(s,h,{get:l[h],enumerable:!0})},_e=(s,l,h,E)=>{if(l&&typeof l==\"object\"||typeof l==\"function\")for(let m of fr(l))!dr.call(s,m)&&m!==h&&F(s,m,{get:()=>l[m],enumerable:!(E=lr(l,m))||E.enumerable});return s};var pr=(s,l,h)=>(h=s!=null?sr(cr(s)):{},_e(l||!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(),l=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 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:\"\",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,le={},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 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 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 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 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),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 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===l}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 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(we()),br={title:\"@upstash/ratelimit\",description:\"Ratelimiting library for serverless and edge runtimes. Built on top of Upstash Redis.\",date:\"2022-06-06\",url:\"https://upstash.com/ratelimit\",repository:\"upstash/ratelimit\",published:!0};function Pe(s){let l=Object.assign({p:\"p\"},s.components);return(0,A.jsxDEV)(l.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-37fe23d1-747d-41e2-83b3-756ee13806a3.mdx\",lineNumber:11,columnNumber:1},this)}function gr(s={}){let{wrapper:l}=s.components||{};return l?(0,A.jsxDEV)(l,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-37fe23d1-747d-41e2-83b3-756ee13806a3.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-37fe23d1-747d-41e2-83b3-756ee13806a3.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;" }, "_id": "projects/upstash-ratelimit.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-react-ui.mdx.json b/.contentlayer/generated/Project/projects__upstash-react-ui.mdx.json index 0ab6e04..d850f98 100644 --- a/.contentlayer/generated/Project/projects__upstash-react-ui.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-react-ui.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "React.js CLI", "description": "A CLI React component to interact with Upstash Redis databases.", "date": "2023-02-05T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/react-ui", "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 q=(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=q((_r,Re)=>{Re.exports=React});var Ce=q(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 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:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Le(e,r,t){return se(e,!1)}function Ue(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,Ue(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 Le(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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,L;L={};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);L[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),L[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 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 U=_.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===c}function be(){{if(U.current){var e=b(U.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!==U.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:\"React.js CLI\",description:\"A CLI React component to interact with Upstash Redis databases.\",date:\"2023-02-05\",url:\"https://upstash.com\",repository:\"upstash/react-ui\"};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-22d4f282-9b50-49ce-a375-e53037e3152a.mdx\",lineNumber:10,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-22d4f282-9b50-49ce-a375-e53037e3152a.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-22d4f282-9b50-49ce-a375-e53037e3152a.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;" + "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 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 fr(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(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=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\"),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:\"\",ye=T?S(T):\"\";return typeof e==\"function\"&&j.set(e,ye),ye}function Le(e,r,t){return se(e,!1)}function Ue(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,Ue(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 Le(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 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 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.\",qe(e)),le(e)}var O=_.ReactCurrentOwner,Xe={key:!0,ref:!0,__self:!0,__source:!0},ve,pe,L;L={};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);L[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),L[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 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 U=_.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(U.current){var e=h(U.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!==U.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?\"):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:()=>hr});var A=pr(we()),hr={title:\"React.js CLI\",description:\"A CLI React component to interact with Upstash Redis databases.\",date:\"2023-02-05\",url:\"https://upstash.com\",repository:\"upstash/react-ui\",published:!0};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-cb7470d6-8beb-40f7-8d67-d853d6fc6345.mdx\",lineNumber:11,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-cb7470d6-8beb-40f7-8d67-d853d6fc6345.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-cb7470d6-8beb-40f7-8d67-d853d6fc6345.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;" }, "_id": "projects/upstash-react-ui.mdx", "_raw": { diff --git a/.contentlayer/generated/Project/projects__upstash-redis.mdx.json b/.contentlayer/generated/Project/projects__upstash-redis.mdx.json index 1ead1d5..8deba78 100644 --- a/.contentlayer/generated/Project/projects__upstash-redis.mdx.json +++ b/.contentlayer/generated/Project/projects__upstash-redis.mdx.json @@ -1,4 +1,5 @@ { + "published": true, "title": "@upstash/redis", "description": "A fully typed Redis client built for Upstash Redis and HTTP, perfect for serverless and edge runtimes.", "date": "2022-03-14T00:00:00.000Z", @@ -6,7 +7,7 @@ "repository": "upstash/upstash-redis", "body": { "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 h=Object.create;var c=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var m=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),u=(n,e)=>{for(var s in e)c(n,s,{get:e[s],enumerable:!0})},o=(n,e,s,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let a of E(e))!F.call(n,a)&&a!==s&&c(n,a,{get:()=>e[a],enumerable:!(r=p(e,a))||r.enumerable});return n};var B=(n,e,s)=>(s=n!=null?h(y(n)):{},o(e||!n||!n.__esModule?c(s,\"default\",{value:n,enumerable:!0}):s,n)),N=n=>o(c({},\"__esModule\",{value:!0}),n);var t=m((w,i)=>{i.exports=_jsx_runtime});var C={};u(C,{default:()=>b,frontmatter:()=>g});var l=B(t()),g={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 d(n){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\"},n.components);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(e.p,{children:[(0,l.jsx)(e.code,{children:\"@upstash/redis\"}),` is an HTTP/REST based Redis client for typescript, built on top\nof `,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/features/restapi\",children:\"Upstash REST API\"}),\".\"]}),`\n`,(0,l.jsx)(e.p,{children:\"It is the only connectionless (HTTP based) Redis client and designed for:\"}),`\n`,(0,l.jsxs)(e.ul,{children:[`\n`,(0,l.jsx)(e.li,{children:\"Serverless functions (AWS Lambda ...)\"}),`\n`,(0,l.jsxs)(e.li,{children:[`Cloudflare Workers (see\n`,(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/cloudflare-workers\",children:\"the example\"}),\")\"]}),`\n`,(0,l.jsxs)(e.li,{children:[`Fastly Compute@Edge (see\n`,(0,l.jsx)(e.a,{href:\"https://github.com/upstash/upstash-redis/tree/main/examples/fastly\",children:\"the example\"}),\")\"]}),`\n`,(0,l.jsx)(e.li,{children:\"Next.js, Jamstack ...\"}),`\n`,(0,l.jsx)(e.li,{children:\"Client side web/mobile applications\"}),`\n`,(0,l.jsx)(e.li,{children:\"WebAssembly\"}),`\n`,(0,l.jsx)(e.li,{children:\"and other environments where HTTP is preferred over TCP.\"}),`\n`]}),`\n`,(0,l.jsxs)(e.p,{children:[`See\n`,(0,l.jsx)(e.a,{href:\"https://docs.upstash.com/features/restapi#rest---redis-api-compatibility\",children:\"the list of APIs\"}),`\nsupported.`]}),`\n`,(0,l.jsxs)(e.h2,{id:\"quick-start\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#quick-start\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Quick Start\"]}),`\n`,(0,l.jsxs)(e.h3,{id:\"install\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#install\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Install\"]}),`\n`,(0,l.jsxs)(e.h4,{id:\"nodejs\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#nodejs\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Node.js\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"bash\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"npm\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"install\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"@upstash/redis\"})]})})})}),`\n`,(0,l.jsxs)(e.h4,{id:\"deno\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#deno\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Deno\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,l.jsx)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"https://deno.land/x/upstash_redis/mod.ts\"'}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\";\"})]})})})}),`\n`,(0,l.jsxs)(e.h3,{id:\"create-database\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#create-database\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Create database\"]}),`\n`,(0,l.jsxs)(e.p,{children:[\"Create a new redis database on \",(0,l.jsx)(e.a,{href:\"https://console.upstash.com/\",children:\"upstash\"})]}),`\n`,(0,l.jsxs)(e.h2,{id:\"basic-usage\",children:[(0,l.jsx)(e.a,{className:\"subheading-anchor\",\"aria-label\":\"Link to section\",href:\"#basic-usage\",children:(0,l.jsx)(e.span,{className:\"icon icon-link\"})}),\"Basic Usage:\"]}),`\n`,(0,l.jsx)(e.div,{\"data-rehype-pretty-code-fragment\":\"\",children:(0,l.jsx)(e.pre,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:(0,l.jsxs)(e.code,{\"data-language\":\"ts\",\"data-theme\":\"default\",children:[(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"import\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" { Redis } \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"from\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:'\"@upstash/redis\"'})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"const\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"redis\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"new\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"Redis\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"({\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" url: <\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_URL\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" token: <\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"UPSTASH_REDIS_REST_TOKEN\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\">,\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// string\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"set\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"let\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"get\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\");\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"set\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'key2'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'value2'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", {ex: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"});\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// sorted set\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"zadd\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", { score: \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", member: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'team1'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" })\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"zrange\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'scores'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// list\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"lpush\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'magnesium'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"lrange\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'elements'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"0\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"100\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// hash\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"hset\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", {name: \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'joe'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"})\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"hget\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'people'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'name'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" )\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:\" \"}),`\n`,(0,l.jsx)(e.span,{className:\"line\",children:(0,l.jsx)(e.span,{style:{color:\"#6A737D\"},children:\"// sets\"})}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"sadd\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'cat'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"data \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"=\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" \"}),(0,l.jsx)(e.span,{style:{color:\"#F97583\"},children:\"await\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\" redis.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"spop\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(\"}),(0,l.jsx)(e.span,{style:{color:\"#9ECBFF\"},children:\"'animals'\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\", \"}),(0,l.jsx)(e.span,{style:{color:\"#79B8FF\"},children:\"1\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\")\"})]}),`\n`,(0,l.jsxs)(e.span,{className:\"line\",children:[(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"console.\"}),(0,l.jsx)(e.span,{style:{color:\"#B392F0\"},children:\"log\"}),(0,l.jsx)(e.span,{style:{color:\"#E1E4E8\"},children:\"(data)\"})]})]})})})]})}function f(n={}){let{wrapper:e}=n.components||{};return e?(0,l.jsx)(e,Object.assign({},n,{children:(0,l.jsx)(d,n)})):d(n)}var b=f;return N(C);})();\n;return Component;" + "code": "var Component=(()=>{var dn=Object.create;var O=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var q=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports),hn=(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))!fn.call(l,k)&&k!==_&&O(l,k,{get:()=>e[k],enumerable:!(x=ln(e,k))||x.enumerable});return l};var bn=(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 f(r){{for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t=1&&u>=0&&o[m]!==h[u];)u--;for(;m>=1&&u>=0;m--,u--)if(o[m]!==h[u]){if(m!==1||u!==1)do if(m--,u--,u<0||o[m]!==h[u]){var b=`\n`+o[m].replace(\" at new \",\" at \");return r.displayName&&b.includes(\"\")&&(b=b.replace(\"\",r.displayName)),typeof r==\"function\"&&T.set(r,b),b}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,c){return de(r,!1)}function Me(r){var a=r.prototype;return!!(a&&a.isReactComponent)}function w(r,a,c){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,c);case A:{var t=r,d=t._payload,i=t._init;try{return w(i(d),a,c)}catch{}}}return\"\"}var S=Object.prototype.hasOwnProperty,ie={},le=g.ReactDebugCurrentFrame;function P(r){if(r){var a=r._owner,c=w(r.type,r._source,a?a.type:null);le.setExtraStackFrame(c)}else le.setExtraStackFrame(null)}function Ve(r,a,c,t,d){{var i=Function.call.bind(S);for(var s in r)if(i(r,s)){var o=void 0;try{if(typeof r[s]!=\"function\"){var h=Error((t||\"React class\")+\": \"+c+\" type `\"+s+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof r[s]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw h.name=\"Invariant Violation\",h}o=r[s](a,s,t,c,null,\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\")}catch(m){o=m}o&&!(o instanceof Error)&&(P(d),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).\",t||\"React class\",c,s,typeof o),P(null)),o instanceof Error&&!(o.message in ie)&&(ie[o.message]=!0,P(d),f(\"Failed %s type: %s\",c,o.message),P(null))}}}var He=Array.isArray;function Y(r){return He(r)}function qe(r){{var a=typeof Symbol==\"function\"&&Symbol.toStringTag,c=a&&r[Symbol.toStringTag]||r.constructor.name||\"Object\";return c}}function ze(r){try{return me(r),!1}catch{return!0}}function me(r){return\"\"+r}function ue(r){if(ze(r))return f(\"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},fe,he,$;$={};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 c=p(v.current.type);$[c]||(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(v.current.type),r.ref),$[c]=!0)}}function Qe(r,a){{var c=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))};c.isReactWarning=!0,Object.defineProperty(r,\"key\",{get:c,configurable:!0})}}function Ze(r,a){{var c=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))};c.isReactWarning=!0,Object.defineProperty(r,\"ref\",{get:c,configurable:!0})}}var en=function(r,a,c,t,d,i,s){var o={$$typeof:e,type:r,key:a,ref:c,props:s,_owner:i};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:t}),Object.defineProperty(o,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:d}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o};function nn(r,a,c,t,d){{var i,s={},o=null,h=null;c!==void 0&&(ue(c),o=\"\"+c),Xe(a)&&(ue(a.key),o=\"\"+a.key),Ke(a)&&(h=a.ref,Je(a,d));for(i in a)S.call(a,i)&&!Ge.hasOwnProperty(i)&&(s[i]=a[i]);if(r&&r.defaultProps){var m=r.defaultProps;for(i in m)s[i]===void 0&&(s[i]=m[i])}if(o||h){var u=typeof r==\"function\"?r.displayName||r.name||\"Unknown\":r;o&&Qe(s,u),h&&Ze(s,u)}return en(r,o,h,d,t,v.current,s)}}var M=g.ReactCurrentOwner,be=g.ReactDebugCurrentFrame;function E(r){if(r){var a=r._owner,c=w(r.type,r._source,a?a.type:null);be.setExtraStackFrame(c)}else be.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(/^.*[\\\\\\/]/,\"\"),c=r.lineNumber;return`\n\nCheck your code at `+a+\":\"+c+\".\"}return\"\"}}var pe={};function an(r){{var a=_e();if(!a){var c=typeof r==\"string\"?r:r.displayName||r.name;c&&(a=`\n\nCheck the top-level render call using <`+c+\">.\")}return a}}function Ne(r,a){{if(!r._store||r._store.validated||r.key!=null)return;r._store.validated=!0;var c=an(a);if(pe[c])return;pe[c]=!0;var t=\"\";r&&r._owner&&r._owner!==M.current&&(t=\" It was passed a child from \"+p(r._owner.type)+\".\"),E(r),f('Each child in a list should have a unique \"key\" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',c,t),E(null)}}function ke(r,a){{if(typeof r!=\"object\")return;if(Y(r))for(var c=0;c\",o=\" Did you accidentally export a JSX literal instead of a component?\"):m=typeof r,f(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",m,o)}var u=nn(r,a,c,d,i);if(u==null)return u;if(s){var b=a.children;if(b!==void 0)if(t)if(Y(b)){for(var j=0;j{\"use strict\";Ue.exports=je()});var xn={};hn(xn,{default:()=>kn,frontmatter:()=>pn});var n=bn(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\",published:!0};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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:12,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:13,columnNumber:4},this),\".\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:12,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:15,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:19,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:18,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:21,columnNumber:3},this),\")\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:20,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:22,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:23,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:24,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:25,columnNumber:1},this),`\n`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:28,columnNumber:1},this),`\nsupported.`]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:27,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Quick Start\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:31,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Install\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Node.js\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:35,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:260},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:37,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Deno\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:41,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:358},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:85},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:43,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Create database\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:47,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:49,columnNumber:32},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:49,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this),\"Basic Usage:\"]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:51,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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:270},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:3,columnNumber:367},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:4,columnNumber:125},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:5,columnNumber:129},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:6,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:8,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:9,columnNumber:318},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:10,columnNumber:384},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:11,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:13,columnNumber:400},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:15,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:16,columnNumber:414},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:17,columnNumber:502},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:18,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:20,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:21,columnNumber:329},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:22,columnNumber:504},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:23,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:25,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:26,columnNumber:327},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:27,columnNumber:436},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:28,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:30,columnNumber:20},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:31,columnNumber:321},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:32,columnNumber:425},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,columnNumber:103},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:33,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:79},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:1,columnNumber:1},this)},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\",lineNumber:53,columnNumber:1},this)]},void 0,!0,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-93a1e3d2-f694-441c-8926-7ce5fc1adfb7.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/projects__upstash-web-analytics.mdx.json b/.contentlayer/generated/Project/projects__upstash-web-analytics.mdx.json new file mode 100644 index 0000000..60f4eb2 --- /dev/null +++ b/.contentlayer/generated/Project/projects__upstash-web-analytics.mdx.json @@ -0,0 +1,21 @@ +{ + "published": true, + "title": "Upstash Web Analytics", + "description": "A library to record and analyse web page traffic and user behaviour", + "repository": "upstash/web-analytics", + "body": { + "raw": "\nTODO:", + "code": "var Component=(()=>{var sr=Object.create;var A=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)A(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&&A(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?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 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\"),W=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{M=!1,$.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 W: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 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 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(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 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\";Oe.exports=Ce()});var Er={};vr(Er,{default:()=>mr,frontmatter:()=>hr});var F=pr(we()),hr={title:\"Upstash Web Analytics\",description:\"A library to record and analyse web page traffic and user behaviour\",repository:\"upstash/web-analytics\",published:!0};function Pe(s){let c=Object.assign({p:\"p\"},s.components);return(0,F.jsxDEV)(c.p,{children:\"TODO:\"},void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6692e122-da3d-46ed-b1b6-14cd52b3c074.mdx\",lineNumber:8,columnNumber:1},this)}function gr(s={}){let{wrapper:c}=s.components||{};return c?(0,F.jsxDEV)(c,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-6692e122-da3d-46ed-b1b6-14cd52b3c074.mdx\"},this)}),void 0,!1,{fileName:\"/Users/andreasthomas/github/chronark/chronark.com/content/projects/_mdx_bundler_entry_point-6692e122-da3d-46ed-b1b6-14cd52b3c074.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;" + }, + "_id": "projects/upstash-web-analytics.mdx", + "_raw": { + "sourceFilePath": "projects/upstash-web-analytics.mdx", + "sourceFileName": "upstash-web-analytics.mdx", + "sourceFileDir": "projects", + "contentType": "mdx", + "flattenedPath": "projects/upstash-web-analytics" + }, + "type": "Project", + "path": "/projects/upstash-web-analytics", + "slug": "upstash-web-analytics" +} \ No newline at end of file diff --git a/.contentlayer/generated/types.d.ts b/.contentlayer/generated/types.d.ts index 4aee628..e718afa 100644 --- a/.contentlayer/generated/types.d.ts +++ b/.contentlayer/generated/types.d.ts @@ -31,6 +31,7 @@ export type Project = { _id: string; _raw: Local.RawDocumentData; type: "Project"; + published?: boolean | undefined; title: string; description: string; date?: IsoDateTimeString | undefined; diff --git a/.contentlayer/package.json b/.contentlayer/package.json index 70f3210..8f15644 100644 --- a/.contentlayer/package.json +++ b/.contentlayer/package.json @@ -1,7 +1,7 @@ { "name": "dot-contentlayer", "description": "This package is auto-generated by Contentlayer", - "version": "0.0.0-KFUTZ636", + "version": "0.0.0-AAEZAM7W", "exports": { "./generated": { "import": "./generated/index.mjs" diff --git a/.env b/.env new file mode 100644 index 0000000..d4b1cc0 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +UPSTASH_REDIS_REST_URL="https://eu2-leading-tortoise-32227.upstash.io" +UPSTASH_REDIS_REST_TOKEN="AX3jASQgNWE1ZWQ4ZWYtNTUwOC00NzQ3LWEwNjAtZmY4NzQwNzYwMWRiMDlkZTIyMmRiNWVhNDBhM2E2ZWYyZGZlYmQ4ZTk1Zjc=" \ No newline at end of file diff --git a/app/components/article-nav.tsx b/app/components/article-nav.tsx deleted file mode 100644 index b9286f7..0000000 --- a/app/components/article-nav.tsx +++ /dev/null @@ -1,107 +0,0 @@ -"use client"; -import { ArrowLeft } from "lucide-react"; -import Link from "next/link"; -import React, { useEffect, useMemo, useRef, useState } from "react"; -import { usePathname } from "next/navigation"; - -type Props = { - project: { - url?: string; - title: string; - description: string; - repository?: string; - }; -}; - -export const Navigation: React.FC = ({ project }) => { - const pathname = usePathname(); - const ref = useRef(null); - const [isIntersecting, setIntersecting] = useState(true); - - useEffect(() => { - if (!ref.current) return; - const observer = new IntersectionObserver(([entry]) => - setIntersecting(entry.isIntersecting), - ); - - observer.observe(ref.current); - return () => observer.disconnect(); - }, []); - - return ( -
-
-
-
- - - GitHub - - -
- - - - -
-
-
-
-
-
-

- {project.title} -

-
-
-
-
- {project.url ? ( - - Website - - ) : null} - - {project.repository ? ( - - Repository - - ) : null} -
-
-
- ); -}; diff --git a/app/components/card.tsx b/app/components/card.tsx new file mode 100644 index 0000000..6d6565f --- /dev/null +++ b/app/components/card.tsx @@ -0,0 +1,43 @@ +"use client"; +import { + motion, + useMotionTemplate, + useMotionValue, + useSpring, +} from "framer-motion"; + +import { MouseEventHandler, PropsWithChildren } from "react"; + +export const Card: React.FC = ({ children }) => { + const mouseX = useSpring(0, { stiffness: 200, damping: 100 }); + const mouseY = useSpring(0, { stiffness: 200, damping: 100 }); + + function onMouseMove({ currentTarget, clientX, clientY }: any) { + const { left, top } = currentTarget.getBoundingClientRect(); + mouseX.set(clientX - left); + mouseY.set(clientY - top); + } + let maskImage = useMotionTemplate`radial-gradient(240px at ${mouseX}px ${mouseY}px, white, transparent)`; + let style = { maskImage, WebkitMaskImage: maskImage }; + + return ( +
+
+
+ + +
+ + {children} +
+ ); +}; diff --git a/app/components/mdx.tsx b/app/components/mdx.tsx index 0351121..26098a0 100644 --- a/app/components/mdx.tsx +++ b/app/components/mdx.tsx @@ -20,7 +20,7 @@ const components = { h2: ({ className, ...props }) => (

{socials.map((s) => ( - -
diff --git a/app/layout.tsx b/app/layout.tsx index 0ab6cd0..156a319 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,44 +1,47 @@ -import Image from "next/image"; -import Link from "next/link"; import "../global.css"; import { Inter, Hanken_Grotesk } from "@next/font/google"; -// import font from "@next/font/local"; -// const pangea = font({ -// src: [ -// { -// path: "../public/fonts/PangeaAfrikanTrial-Light.woff2", -// weight: "100", -// style: "normal", -// }, -// { -// path: "../public/fonts/PangeaAfrikanTrial-Regular.woff2", -// weight: "300", -// style: "normal", -// }, -// { -// path: "../public/fonts/PangeaAfrikanTrial-Medium.woff2", -// weight: "500", -// style: "normal", -// }, -// { -// path: "../public/fonts/PangeaAfrikanTrial-SemiBold.woff2", -// weight: "700", -// style: "normal", -// }, -// { -// path: "../public/fonts/PangeaAfrikanTrial-Bold.woff2", -// weight: "900", -// style: "normal", -// }, -// ], -// variable: "--font-pangea", -// }); +import { Metadata } from "next"; -export const metadata = { - title: "chronark.com", - description: "The personal website of chronark", +export const metadata: Metadata = { + title: { + default: "chronark.com", + template: "%s | chronark.com", + }, + description: "software engineer at Upstash and founder of planetfall.io", + openGraph: { + title: "chronark.com", + description: "software engineer at Upstash and founder of planetfall.io", + url: "https://chronark.com", + siteName: "chronark.com", + images: [ + { + url: "https://chronark.com/og.png", + width: 1920, + height: 1080, + }, + ], + locale: "en-US", + type: "website", + }, + robots: { + index: true, + follow: true, + googleBot: { + index: true, + follow: true, + "max-video-preview": -1, + "max-image-preview": "large", + "max-snippet": -1, + }, + }, + twitter: { + title: "Chronark", + card: "summary_large_image", + }, + icons: { + shortcut: "/favicon.png", + }, }; - const inter = Inter({ subsets: ["latin"], variable: "--font-inter", diff --git a/app/page.tsx b/app/page.tsx index bc49700..5d0d399 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,11 +1,8 @@ -import Image from "next/image"; import Link from "next/link"; import React from "react"; const navigation = [ - // { name: "About", href: "/about" }, { name: "Projects", href: "/projects" }, - // { name: "Blog", href: "/blog" }, { name: "Contact", href: "/contact" }, ]; @@ -33,7 +30,7 @@ export default function Home() {

- Hi, I'm building serverless and open source solutions at{" "} + Hi, i'm building serverless and open source solutions at{" "}
- and{" "} + and working on my startup{" "} = ({ project }) => { + const pathname = usePathname(); + const ref = useRef(null); + const [isIntersecting, setIntersecting] = useState(true); + + const links: { label: string; href: string }[] = []; + if (project.repository) { + links.push({ + label: "GitHub", + href: `https://github.com/${project.repository}`, + }); + } + if (project.url) { + links.push({ + label: "Live", + href: project.url, + }); + } + useEffect(() => { + if (!ref.current) return; + const observer = new IntersectionObserver(([entry]) => + setIntersecting(entry.isIntersecting), + ); + + observer.observe(ref.current); + return () => observer.disconnect(); + }, []); + + return ( +
+
+
+
+ + + + + + +
+ + + + +
+
+
+
+
+

+ {project.title} +

+

+ {project.description} +

+
+
+
+ {links.map((link) => ( + + {link.label} + + ))} +
+
+
+
+
+ ); +}; diff --git a/app/projects/[slug]/page.tsx b/app/projects/[slug]/page.tsx index 085a200..6459833 100644 --- a/app/projects/[slug]/page.tsx +++ b/app/projects/[slug]/page.tsx @@ -1,24 +1,24 @@ import { notFound } from "next/navigation"; import { allProjects } from "contentlayer/generated"; import { Mdx } from "@/app/components/mdx"; -import { Navigation } from "@/app/components/article-nav"; +import { Header } from "./header"; import "./mdx.css"; -interface PostPageProps { +type Props = { params: { slug: string; }; +}; + +export async function generateStaticParams(): Promise { + return allProjects + .filter((p) => p.published) + .map((p) => ({ + slug: p.slug, + })); } -export async function generateStaticParams(): Promise< - PostPageProps["params"][] -> { - return allProjects.map((p) => ({ - slug: p.slug, - })); -} - -export default async function PostPage({ params }: PostPageProps) { +export default async function PostPage({ params }: Props) { const slug = params?.slug; const project = allProjects.find((project) => project.slug === slug); @@ -27,11 +27,11 @@ export default async function PostPage({ params }: PostPageProps) { } return ( -
- +
+
-
-
+
+
diff --git a/app/projects/article.tsx b/app/projects/article.tsx new file mode 100644 index 0000000..706a237 --- /dev/null +++ b/app/projects/article.tsx @@ -0,0 +1,27 @@ +import type { Project } from "@/.contentlayer/generated"; +import Link from "next/link"; +export const Article = ({ project }: { project: Project }) => { + return ( + +
+ + {project.date ? ( + + ) : ( + SOON + )} + +

+ {project.title} +

+

+ {project.description} +

+
+ + ); +}; diff --git a/app/projects/card.tsx b/app/projects/card.tsx deleted file mode 100644 index 8ca03c4..0000000 --- a/app/projects/card.tsx +++ /dev/null @@ -1,74 +0,0 @@ -"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 7c10de4..ee25dab 100644 --- a/app/projects/page.tsx +++ b/app/projects/page.tsx @@ -2,7 +2,8 @@ import Link from "next/link"; import React from "react"; import { allProjects } from "contentlayer/generated"; import { Navigation } from "../components/nav"; -import { Card } from "./card"; +import { Card } from "../components/card"; +import { Article } from "./article"; export default function ProjectsPage() { const featured = allProjects.find( @@ -11,6 +12,7 @@ export default function ProjectsPage() { const top2 = allProjects.find((project) => project.slug === "envshare")!; const top3 = allProjects.find((project) => project.slug === "qstash")!; const sorted = allProjects + .filter((p) => p.published) .filter( (project) => project.slug !== featured.slug && @@ -24,7 +26,7 @@ export default function ProjectsPage() { ); return ( -
+
@@ -38,39 +40,46 @@ export default function ProjectsPage() {
-
-
- {featured.date ? ( - - ) : ( - SOON - )} -
-

- {featured.title} -

-

- {featured.description} -

-
- - Read more - -
-
+ + +
+
+ {featured.date ? ( + + ) : ( + SOON + )} +
+

+ {featured.title} +

+

+ {featured.description} +

+
+ + Read more + +
+
+ +
+
{[top2, top3].map((project) => ( - + +
+ ))}
@@ -81,21 +90,27 @@ export default function ProjectsPage() { {sorted .filter((_, i) => i % 3 === 0) .map((project) => ( - + +
+ ))}
{sorted .filter((_, i) => i % 3 === 1) .map((project) => ( - + +
+ ))}
{sorted .filter((_, i) => i % 3 === 2) .map((project) => ( - + +
+ ))}
diff --git a/content/projects/access.mdx b/content/projects/access.mdx index ae00c32..e29f22c 100644 --- a/content/projects/access.mdx +++ b/content/projects/access.mdx @@ -3,6 +3,7 @@ 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" +published: true --- 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. diff --git a/content/projects/envshare.mdx b/content/projects/envshare.mdx index 1931134..59f6253 100644 --- a/content/projects/envshare.mdx +++ b/content/projects/envshare.mdx @@ -4,7 +4,7 @@ description: EnvShare is a simple tool to share environment variables securely. date: "2023-01-16" url: https://envshare.dev repository: chronark/envshare - +published: true --- EnvShare is a simple tool to share environment variables securely. It uses diff --git a/content/projects/planetfall.mdx b/content/projects/planetfall.mdx index fde5322..c86478d 100644 --- a/content/projects/planetfall.mdx +++ b/content/projects/planetfall.mdx @@ -1,10 +1,12 @@ --- 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. +description: I'm building a SAAS providing 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 +published: true --- -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 +Planetfall is a SaaS platform that provides global latency monitoring and synthetic monitoring for APIs. With over 60 regions to monitor from, customers can gain insights into the true performance of their API by checking latency from around the world. +Planetfall offers custom timeouts, threshold notifications, and real-time alerts for potential performance issues. Additionally, customers can create custom status pages to share with their customers, which can display availability and latency for every region. Planetfall offers a free tier that includes 100k checks per month and scales as customers grow. Overall, Planetfall helps customers stay in control of their API's performance, improve communication with their customers, and build trust. \ No newline at end of file diff --git a/content/projects/qstash.mdx b/content/projects/qstash.mdx index 86ff2c3..94cffbb 100644 --- a/content/projects/qstash.mdx +++ b/content/projects/qstash.mdx @@ -3,6 +3,7 @@ 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 +published: true --- diff --git a/content/projects/terraform-provider-vercel.mdx b/content/projects/terraform-provider-vercel.mdx index 2e3328d..267c145 100644 --- a/content/projects/terraform-provider-vercel.mdx +++ b/content/projects/terraform-provider-vercel.mdx @@ -4,6 +4,7 @@ description: A Terraform provider for Vercel. It has been deprecated it when Ver date: "2021-03-16" repository: chronark/terraform-provider-vercel url: https://registry.terraform.io/providers/chronark/vercel/latest +published: true --- diff --git a/content/projects/upstash-auth-analytics.mdx b/content/projects/upstash-auth-analytics.mdx index 68dc478..6004cae 100644 --- a/content/projects/upstash-auth-analytics.mdx +++ b/content/projects/upstash-auth-analytics.mdx @@ -3,7 +3,6 @@ title: Upstash Auth Analytics description: A library to record and analyse Auth.js user behaviour url: https://console.upstash.com/ratelimit repository: upstash/auth-analytics - --- TODO: \ No newline at end of file diff --git a/content/projects/upstash-cli.mdx b/content/projects/upstash-cli.mdx index 61026b7..ee195db 100644 --- a/content/projects/upstash-cli.mdx +++ b/content/projects/upstash-cli.mdx @@ -4,6 +4,7 @@ description: A CLI to provision and manage Upstash resources, including Redis an date: "2022-05-16" url: https://upstash.com/cli repository: upstash/cli +published: true --- diff --git a/content/projects/upstash-core-analytics.mdx b/content/projects/upstash-core-analytics.mdx index dc8ff66..ea41356 100644 --- a/content/projects/upstash-core-analytics.mdx +++ b/content/projects/upstash-core-analytics.mdx @@ -4,6 +4,7 @@ description: Low level utilities to build analytics tools on top of Redis. date: "2023-02-13" url: https://console.upstash.com/ratelimit repository: upstash/core-analytics +published: true --- diff --git a/content/projects/upstash-edge-flags.mdx b/content/projects/upstash-edge-flags.mdx index 14c2ddb..8eccf1a 100644 --- a/content/projects/upstash-edge-flags.mdx +++ b/content/projects/upstash-edge-flags.mdx @@ -4,6 +4,7 @@ description: Featues flags for your edge functions. date: "2022-12-12" url: https://upstash.com/edge-flags repository: upstash/edge-flags +published: true --- diff --git a/content/projects/upstash-kafka.mdx b/content/projects/upstash-kafka.mdx index cc072ab..9ebb880 100644 --- a/content/projects/upstash-kafka.mdx +++ b/content/projects/upstash-kafka.mdx @@ -4,6 +4,7 @@ description: A fully typed Kafka client built for Upstash Kafka and HTTP, perfec date: "2022-01-08" url: https://upstash.com/kafka repository: upstash/upstash-kafka +published: true --- diff --git a/content/projects/upstash-qstash-sdk.mdx b/content/projects/upstash-qstash-sdk.mdx index 97cdb21..3249a01 100644 --- a/content/projects/upstash-qstash-sdk.mdx +++ b/content/projects/upstash-qstash-sdk.mdx @@ -4,6 +4,7 @@ description: A typescript client and consumer for QStash. date: "2022-07-18" url: https://upstash.com/qstash repository: upstash/sdk-qstash-ts +published: true --- TODO: \ No newline at end of file diff --git a/content/projects/upstash-ratelimit-analytics b/content/projects/upstash-ratelimit-analytics index 20d1ecd..59a549b 100644 --- a/content/projects/upstash-ratelimit-analytics +++ b/content/projects/upstash-ratelimit-analytics @@ -4,6 +4,7 @@ description: Near realtime analytics for your ratelimits. Integrated into the @u repository: upstash/ratelimit date: "2023-03-01" website: https://console.upstash.com/ratelimit +published: true --- diff --git a/content/projects/upstash-ratelimit.mdx b/content/projects/upstash-ratelimit.mdx index f702538..d294b9c 100644 --- a/content/projects/upstash-ratelimit.mdx +++ b/content/projects/upstash-ratelimit.mdx @@ -4,6 +4,7 @@ description: Ratelimiting library for serverless and edge runtimes. Built on top date: "2022-06-06" url: https://upstash.com/ratelimit repository: upstash/ratelimit +published: true --- diff --git a/content/projects/upstash-react-ui.mdx b/content/projects/upstash-react-ui.mdx index da42286..75d5b04 100644 --- a/content/projects/upstash-react-ui.mdx +++ b/content/projects/upstash-react-ui.mdx @@ -4,6 +4,7 @@ description: A CLI React component to interact with Upstash Redis databases. date: "2023-02-05" url: https://upstash.com repository: upstash/react-ui +published: true --- diff --git a/content/projects/upstash-redis.mdx b/content/projects/upstash-redis.mdx index 6f6ba5c..12aa1fb 100644 --- a/content/projects/upstash-redis.mdx +++ b/content/projects/upstash-redis.mdx @@ -4,6 +4,7 @@ description: A fully typed Redis client built for Upstash Redis and HTTP, perfec date: "2022-03-14" url: https://upstash.com/redis repository: upstash/upstash-redis +published: true --- diff --git a/content/projects/upstash-web-analytics b/content/projects/upstash-web-analytics.mdx similarity index 90% rename from content/projects/upstash-web-analytics rename to content/projects/upstash-web-analytics.mdx index c5b9769..80db94c 100644 --- a/content/projects/upstash-web-analytics +++ b/content/projects/upstash-web-analytics.mdx @@ -2,7 +2,7 @@ title: Upstash Web Analytics description: A library to record and analyse web page traffic and user behaviour repository: upstash/web-analytics - +published: true --- TODO: \ No newline at end of file diff --git a/contentlayer.config.js b/contentlayer.config.js index 8cf8104..860e60d 100644 --- a/contentlayer.config.js +++ b/contentlayer.config.js @@ -22,6 +22,9 @@ export const Project = defineDocumentType(() => ({ contentType: "mdx", fields: { + published: { + type: "boolean", + }, title: { type: "string", required: true, diff --git a/middleware.ts b/middleware.ts new file mode 100644 index 0000000..8583a11 --- /dev/null +++ b/middleware.ts @@ -0,0 +1,41 @@ +import { Redis } from "@upstash/redis"; +import { NextRequest, NextResponse, NextFetchEvent } from "next/server"; + +const redis = Redis.fromEnv(); +export const config = { + runtime: "experimental-edge", + matcher: "/projects/:slug*", +}; + +export default async function middleware( + req: NextRequest, + evt: NextFetchEvent, +): Promise { + const path = new URL(req.url).pathname; + console.log({ path }); + + evt.waitUntil(incrementPageView(req.ip, path)); + + return NextResponse.next(); +} + +async function incrementPageView( + identifier: string | undefined, + pathname: string, +): Promise { + if (identifier) { + // deduplicate the ip for each slug + const isNew = await redis.set( + ["deduplicate", identifier, pathname].join(":"), + true, + { + nx: true, + ex: 24 * 60 * 60, + }, + ); + if (!isNew) { + return; + } + } + await redis.incr(["pageviews", pathname].join(":")); +} diff --git a/package.json b/package.json index 3699e87..c0b97bb 100644 --- a/package.json +++ b/package.json @@ -11,18 +11,20 @@ "dependencies": { "@next/font": "^13.2.1", "@next/mdx": "^13.2.1", - "@types/node": "18.15.5", - "@types/react": "18.0.28", + "@types/node": "18.15.10", + "@types/react": "18.0.29", "@types/react-dom": "18.0.11", + "@upstash/redis": "^1.20.1", "@vercel/analytics": "^0.1.10", "contentlayer": "^0.3.0", - "framer-motion": "^10.8.5", + "framer-motion": "^10.9.1", "lucide-react": "^0.127.0", "markdown-wasm": "^1.2.0", "next": "13.2.4", "next-contentlayer": "^0.3.0", "react": "18.2.0", "react-dom": "18.2.0", + "react-wrap-balancer": "^0.4.0", "rehype-autolink-headings": "^6.1.1", "rehype-pretty-code": "^0.9.4", "rehype-slug": "^5.1.0", @@ -35,7 +37,7 @@ "@tailwindcss/typography": "^0.5.9", "autoprefixer": "^10.4.13", "postcss": "^8.4.21", - "postcss-nesting": "^11.2.1", + "postcss-nesting": "^11.2.2", "rome": "^11.0.0", "tailwindcss": "^3.2.7", "tailwindcss-debug-screens": "^2.2.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 601f911..77c0a3a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,21 +6,23 @@ specifiers: '@opentelemetry/api': ^1.4.1 '@tailwindcss/line-clamp': ^0.4.2 '@tailwindcss/typography': ^0.5.9 - '@types/node': 18.15.5 - '@types/react': 18.0.28 + '@types/node': 18.15.10 + '@types/react': 18.0.29 '@types/react-dom': 18.0.11 + '@upstash/redis': ^1.20.1 '@vercel/analytics': ^0.1.10 autoprefixer: ^10.4.13 contentlayer: ^0.3.0 - framer-motion: ^10.8.5 + framer-motion: ^10.9.1 lucide-react: ^0.127.0 markdown-wasm: ^1.2.0 next: 13.2.4 next-contentlayer: ^0.3.0 postcss: ^8.4.21 - postcss-nesting: ^11.2.1 + postcss-nesting: ^11.2.2 react: 18.2.0 react-dom: 18.2.0 + react-wrap-balancer: ^0.4.0 rehype-autolink-headings: ^6.1.1 rehype-pretty-code: ^0.9.4 rehype-slug: ^5.1.0 @@ -33,18 +35,20 @@ specifiers: dependencies: '@next/font': 13.2.4 '@next/mdx': 13.2.4 - '@types/node': 18.15.5 - '@types/react': 18.0.28 + '@types/node': 18.15.10 + '@types/react': 18.0.29 '@types/react-dom': 18.0.11 + '@upstash/redis': 1.20.1 '@vercel/analytics': 0.1.11_react@18.2.0 - contentlayer: 0.3.0_qmecdceofcvmurqim4ud7myj3a - framer-motion: 10.8.5_biqbaboplfbrettd7655fr4n2y + contentlayer: 0.3.0_e24fifms7lyt2dudodzemqbuwu + framer-motion: 10.9.1_biqbaboplfbrettd7655fr4n2y lucide-react: 0.127.0_react@18.2.0 markdown-wasm: 1.2.0 next: 13.2.4_756ubwvsgazzkcxtigvs4yqbci - next-contentlayer: 0.3.0_fwtlsludu3mxobm5kzti3ccmlm + next-contentlayer: 0.3.0_4jrksbpguxv75tdufwflb7i7k4 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 + react-wrap-balancer: 0.4.0_react@18.2.0 rehype-autolink-headings: 6.1.1 rehype-pretty-code: 0.9.4_shiki@0.14.1 rehype-slug: 5.1.0 @@ -57,7 +61,7 @@ devDependencies: '@tailwindcss/typography': 0.5.9_tailwindcss@3.2.7 autoprefixer: 10.4.14_postcss@8.4.21 postcss: 8.4.21 - postcss-nesting: 11.2.1_postcss@8.4.21 + postcss-nesting: 11.2.2_postcss@8.4.21 rome: 11.0.0 tailwindcss: 3.2.7_postcss@8.4.21 tailwindcss-debug-screens: 2.2.1_tailwindcss@3.2.7 @@ -71,10 +75,10 @@ packages: regenerator-runtime: 0.13.11 dev: false - /@contentlayer/cli/0.3.0_qmecdceofcvmurqim4ud7myj3a: + /@contentlayer/cli/0.3.0_e24fifms7lyt2dudodzemqbuwu: resolution: {integrity: sha512-Mqb6NlIKINt2qsPKft+o8m5tJhJXVgVSd0zP1BH+CQRmvR/zwTT3maz1bDCPHBYGKgGCQKtvgM66IjvH+dmC6Q==} dependencies: - '@contentlayer/core': 0.3.0_qmecdceofcvmurqim4ud7myj3a + '@contentlayer/core': 0.3.0_e24fifms7lyt2dudodzemqbuwu '@contentlayer/utils': 0.3.0 clipanion: 3.2.0_typanion@3.12.1 typanion: 3.12.1 @@ -85,10 +89,10 @@ packages: - supports-color dev: false - /@contentlayer/client/0.3.0_qmecdceofcvmurqim4ud7myj3a: + /@contentlayer/client/0.3.0_e24fifms7lyt2dudodzemqbuwu: resolution: {integrity: sha512-yzDYiZtqOJwWrsykieA1LMnhKbaYcJhAy7s8Xs7zU5wFfyBTO258gvmK5dVi4LuzmOOPVMJn6FpEofT/RAKVtg==} dependencies: - '@contentlayer/core': 0.3.0_qmecdceofcvmurqim4ud7myj3a + '@contentlayer/core': 0.3.0_e24fifms7lyt2dudodzemqbuwu transitivePeerDependencies: - '@effect-ts/otel-node' - esbuild @@ -96,7 +100,7 @@ packages: - supports-color dev: false - /@contentlayer/core/0.3.0_qmecdceofcvmurqim4ud7myj3a: + /@contentlayer/core/0.3.0_e24fifms7lyt2dudodzemqbuwu: resolution: {integrity: sha512-5cL4W0nK9kNqxgBkIgauUko0SRAHf8oPoxRhdsSPQ7FSCgZGz2crMeSJOFmj3a3govh863/mKhXfkoUJBoDgnA==} peerDependencies: esbuild: 0.17.x @@ -110,10 +114,10 @@ packages: '@contentlayer/utils': 0.3.0 camel-case: 4.1.2 comment-json: 4.2.3 - esbuild: 0.17.12 + esbuild: 0.17.14 gray-matter: 4.0.3 markdown-wasm: 1.2.0 - mdx-bundler: 9.2.1_esbuild@0.17.12 + mdx-bundler: 9.2.1_esbuild@0.17.14 rehype-stringify: 9.0.3 remark-frontmatter: 4.0.1 remark-parse: 10.0.1 @@ -126,10 +130,10 @@ packages: - supports-color dev: false - /@contentlayer/source-files/0.3.0_qmecdceofcvmurqim4ud7myj3a: + /@contentlayer/source-files/0.3.0_e24fifms7lyt2dudodzemqbuwu: resolution: {integrity: sha512-6crNuRdWGYFec0Kn/DpbrzpOu8bttFmOmOpX1HIYQz4iPisg+8biybLBiNU7Y6aCUjEZLOnM7AaHpMFvhrYWsw==} dependencies: - '@contentlayer/core': 0.3.0_qmecdceofcvmurqim4ud7myj3a + '@contentlayer/core': 0.3.0_e24fifms7lyt2dudodzemqbuwu '@contentlayer/utils': 0.3.0 chokidar: 3.5.3 fast-glob: 3.2.12 @@ -147,11 +151,11 @@ packages: - supports-color dev: false - /@contentlayer/source-remote-files/0.3.0_qmecdceofcvmurqim4ud7myj3a: + /@contentlayer/source-remote-files/0.3.0_e24fifms7lyt2dudodzemqbuwu: resolution: {integrity: sha512-4PnaK5cfQiduMUEO6nzqsD4ttD5RG4ffcyeSp5MLhpU0DTEZcfGXFRO777ddEI8PZ0/NJuhfz9MGbdO90QYlsw==} dependencies: - '@contentlayer/core': 0.3.0_qmecdceofcvmurqim4ud7myj3a - '@contentlayer/source-files': 0.3.0_qmecdceofcvmurqim4ud7myj3a + '@contentlayer/core': 0.3.0_e24fifms7lyt2dudodzemqbuwu + '@contentlayer/source-files': 0.3.0_e24fifms7lyt2dudodzemqbuwu '@contentlayer/utils': 0.3.0 transitivePeerDependencies: - '@effect-ts/otel-node' @@ -192,14 +196,12 @@ packages: type-fest: 3.6.1 dev: false - /@csstools/selector-specificity/2.1.1_wajs5nedgkikc5pcuwett7legi: - resolution: {integrity: sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==} + /@csstools/selector-specificity/2.2.0_laljekdltgzr3kfi7r4exvsr5a: + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - postcss: ^8.4 postcss-selector-parser: ^6.0.10 dependencies: - postcss: 8.4.21 postcss-selector-parser: 6.0.11 dev: true @@ -274,22 +276,22 @@ packages: dev: false optional: true - /@esbuild-plugins/node-resolve/0.1.4_esbuild@0.17.12: + /@esbuild-plugins/node-resolve/0.1.4_esbuild@0.17.14: resolution: {integrity: sha512-haFQ0qhxEpqtWWY0kx1Y5oE3sMyO1PcoSiWEPrAw6tm/ZOOLXjSs6Q+v1v9eyuVF0nNt50YEvrcrvENmyoMv5g==} peerDependencies: esbuild: '*' dependencies: '@types/resolve': 1.20.2 debug: 4.3.4 - esbuild: 0.17.12 + esbuild: 0.17.14 escape-string-regexp: 4.0.0 resolve: 1.22.1 transitivePeerDependencies: - supports-color dev: false - /@esbuild/android-arm/0.17.12: - resolution: {integrity: sha512-E/sgkvwoIfj4aMAPL2e35VnUJspzVYl7+M1B2cqeubdBhADV4uPon0KCc8p2G+LqSJ6i8ocYPCqY3A4GGq0zkQ==} + /@esbuild/android-arm/0.17.14: + resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -297,8 +299,8 @@ packages: dev: false optional: true - /@esbuild/android-arm64/0.17.12: - resolution: {integrity: sha512-WQ9p5oiXXYJ33F2EkE3r0FRDFVpEdcDiwNX3u7Xaibxfx6vQE0Sb8ytrfQsA5WO6kDn6mDfKLh6KrPBjvkk7xA==} + /@esbuild/android-arm64/0.17.14: + resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -306,8 +308,8 @@ packages: dev: false optional: true - /@esbuild/android-x64/0.17.12: - resolution: {integrity: sha512-m4OsaCr5gT+se25rFPHKQXARMyAehHTQAz4XX1Vk3d27VtqiX0ALMBPoXZsGaB6JYryCLfgGwUslMqTfqeLU0w==} + /@esbuild/android-x64/0.17.14: + resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -315,8 +317,8 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64/0.17.12: - resolution: {integrity: sha512-O3GCZghRIx+RAN0NDPhyyhRgwa19MoKlzGonIb5hgTj78krqp9XZbYCvFr9N1eUxg0ZQEpiiZ4QvsOQwBpP+lg==} + /@esbuild/darwin-arm64/0.17.14: + resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -324,8 +326,8 @@ packages: dev: false optional: true - /@esbuild/darwin-x64/0.17.12: - resolution: {integrity: sha512-5D48jM3tW27h1qjaD9UNRuN+4v0zvksqZSPZqeSWggfMlsVdAhH3pwSfQIFJwcs9QJ9BRibPS4ViZgs3d2wsCA==} + /@esbuild/darwin-x64/0.17.14: + resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -333,8 +335,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64/0.17.12: - resolution: {integrity: sha512-OWvHzmLNTdF1erSvrfoEBGlN94IE6vCEaGEkEH29uo/VoONqPnoDFfShi41Ew+yKimx4vrmmAJEGNoyyP+OgOQ==} + /@esbuild/freebsd-arm64/0.17.14: + resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -342,8 +344,8 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64/0.17.12: - resolution: {integrity: sha512-A0Xg5CZv8MU9xh4a+7NUpi5VHBKh1RaGJKqjxe4KG87X+mTjDE6ZvlJqpWoeJxgfXHT7IMP9tDFu7IZ03OtJAw==} + /@esbuild/freebsd-x64/0.17.14: + resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -351,8 +353,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm/0.17.12: - resolution: {integrity: sha512-WsHyJ7b7vzHdJ1fv67Yf++2dz3D726oO3QCu8iNYik4fb5YuuReOI9OtA+n7Mk0xyQivNTPbl181s+5oZ38gyA==} + /@esbuild/linux-arm/0.17.14: + resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -360,8 +362,8 @@ packages: dev: false optional: true - /@esbuild/linux-arm64/0.17.12: - resolution: {integrity: sha512-cK3AjkEc+8v8YG02hYLQIQlOznW+v9N+OI9BAFuyqkfQFR+DnDLhEM5N8QRxAUz99cJTo1rLNXqRrvY15gbQUg==} + /@esbuild/linux-arm64/0.17.14: + resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -369,8 +371,8 @@ packages: dev: false optional: true - /@esbuild/linux-ia32/0.17.12: - resolution: {integrity: sha512-jdOBXJqcgHlah/nYHnj3Hrnl9l63RjtQ4vn9+bohjQPI2QafASB5MtHAoEv0JQHVb/xYQTFOeuHnNYE1zF7tYw==} + /@esbuild/linux-ia32/0.17.14: + resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -378,8 +380,8 @@ packages: dev: false optional: true - /@esbuild/linux-loong64/0.17.12: - resolution: {integrity: sha512-GTOEtj8h9qPKXCyiBBnHconSCV9LwFyx/gv3Phw0pa25qPYjVuuGZ4Dk14bGCfGX3qKF0+ceeQvwmtI+aYBbVA==} + /@esbuild/linux-loong64/0.17.14: + resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -387,8 +389,8 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el/0.17.12: - resolution: {integrity: sha512-o8CIhfBwKcxmEENOH9RwmUejs5jFiNoDw7YgS0EJTF6kgPgcqLFjgoc5kDey5cMHRVCIWc6kK2ShUePOcc7RbA==} + /@esbuild/linux-mips64el/0.17.14: + resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -396,8 +398,8 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64/0.17.12: - resolution: {integrity: sha512-biMLH6NR/GR4z+ap0oJYb877LdBpGac8KfZoEnDiBKd7MD/xt8eaw1SFfYRUeMVx519kVkAOL2GExdFmYnZx3A==} + /@esbuild/linux-ppc64/0.17.14: + resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -405,8 +407,8 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64/0.17.12: - resolution: {integrity: sha512-jkphYUiO38wZGeWlfIBMB72auOllNA2sLfiZPGDtOBb1ELN8lmqBrlMiucgL8awBw1zBXN69PmZM6g4yTX84TA==} + /@esbuild/linux-riscv64/0.17.14: + resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -414,8 +416,8 @@ packages: dev: false optional: true - /@esbuild/linux-s390x/0.17.12: - resolution: {integrity: sha512-j3ucLdeY9HBcvODhCY4b+Ds3hWGO8t+SAidtmWu/ukfLLG/oYDMaA+dnugTVAg5fnUOGNbIYL9TOjhWgQB8W5g==} + /@esbuild/linux-s390x/0.17.14: + resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -423,8 +425,8 @@ packages: dev: false optional: true - /@esbuild/linux-x64/0.17.12: - resolution: {integrity: sha512-uo5JL3cgaEGotaqSaJdRfFNSCUJOIliKLnDGWaVCgIKkHxwhYMm95pfMbWZ9l7GeW9kDg0tSxcy9NYdEtjwwmA==} + /@esbuild/linux-x64/0.17.14: + resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -432,8 +434,8 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64/0.17.12: - resolution: {integrity: sha512-DNdoRg8JX+gGsbqt2gPgkgb00mqOgOO27KnrWZtdABl6yWTST30aibGJ6geBq3WM2TIeW6COs5AScnC7GwtGPg==} + /@esbuild/netbsd-x64/0.17.14: + resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -441,8 +443,8 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64/0.17.12: - resolution: {integrity: sha512-aVsENlr7B64w8I1lhHShND5o8cW6sB9n9MUtLumFlPhG3elhNWtE7M1TFpj3m7lT3sKQUMkGFjTQBrvDDO1YWA==} + /@esbuild/openbsd-x64/0.17.14: + resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -450,8 +452,8 @@ packages: dev: false optional: true - /@esbuild/sunos-x64/0.17.12: - resolution: {integrity: sha512-qbHGVQdKSwi0JQJuZznS4SyY27tYXYF0mrgthbxXrZI3AHKuRvU+Eqbg/F0rmLDpW/jkIZBlCO1XfHUBMNJ1pg==} + /@esbuild/sunos-x64/0.17.14: + resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -459,8 +461,8 @@ packages: dev: false optional: true - /@esbuild/win32-arm64/0.17.12: - resolution: {integrity: sha512-zsCp8Ql+96xXTVTmm6ffvoTSZSV2B/LzzkUXAY33F/76EajNw1m+jZ9zPfNJlJ3Rh4EzOszNDHsmG/fZOhtqDg==} + /@esbuild/win32-arm64/0.17.14: + resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -468,8 +470,8 @@ packages: dev: false optional: true - /@esbuild/win32-ia32/0.17.12: - resolution: {integrity: sha512-FfrFjR4id7wcFYOdqbDfDET3tjxCozUgbqdkOABsSFzoZGFC92UK7mg4JKRc/B3NNEf1s2WHxJ7VfTdVDPN3ng==} + /@esbuild/win32-ia32/0.17.14: + resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -477,8 +479,8 @@ packages: dev: false optional: true - /@esbuild/win32-x64/0.17.12: - resolution: {integrity: sha512-JOOxw49BVZx2/5tW3FqkdjSD/5gXYeVGPDcB0lvap0gLQshkh1Nyel1QazC+wNxus3xPlsYAgqU1BUmrmCvWtw==} + /@esbuild/win32-x64/0.17.14: + resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -495,7 +497,7 @@ packages: engines: {node: ^8.13.0 || >=10.10.0} dependencies: '@grpc/proto-loader': 0.7.5 - '@types/node': 18.15.5 + '@types/node': 18.15.10 dev: false /@grpc/proto-loader/0.6.13: @@ -530,13 +532,13 @@ packages: tslib: 2.5.0 dev: false - /@mdx-js/esbuild/2.3.0_esbuild@0.17.12: + /@mdx-js/esbuild/2.3.0_esbuild@0.17.14: 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.12 + esbuild: 0.17.14 node-fetch: 3.3.0 vfile: 5.3.7 transitivePeerDependencies: @@ -1053,8 +1055,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: false - /@types/node/18.15.5: - resolution: {integrity: sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==} + /@types/node/18.15.10: + resolution: {integrity: sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==} dev: false /@types/parse5/6.0.3: @@ -1068,14 +1070,14 @@ packages: /@types/react-dom/18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: - '@types/react': 18.0.28 + '@types/react': 18.0.29 dev: false - /@types/react/18.0.28: - resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==} + /@types/react/18.0.29: + resolution: {integrity: sha512-wXHktgUABxplw1+UnljseDq4+uztQyp2tlWZRIxHlpchsCFqiYkvaDS8JR7eKOQm8wziTH/el5qL7D6gYNkYcw==} dependencies: '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 + '@types/scheduler': 0.16.3 csstype: 3.1.1 dev: false @@ -1083,14 +1085,22 @@ packages: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: false - /@types/scheduler/0.16.2: - resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + /@types/scheduler/0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} dev: false /@types/unist/2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: false + /@upstash/redis/1.20.1: + resolution: {integrity: sha512-mYwV8uvQROJnq5aOxmQH3KDa0E8+DRdU0zJ/VGQV84HrhQQNy0IsLFFTo97WEhZAlHcJnVbrbwqUK9disWqx/w==} + dependencies: + isomorphic-fetch: 3.0.0 + transitivePeerDependencies: + - encoding + dev: false + /@vercel/analytics/0.1.11_react@18.2.0: resolution: {integrity: sha512-mj5CPR02y0BRs1tN3oZcBNAX9a8NxsIUl9vElDPcqxnMfP0RbRc9fI9Ud7+QDg/1Izvt5uMumsr+6YsmVHcyuw==} peerDependencies: @@ -1317,17 +1327,17 @@ packages: repeat-string: 1.6.1 dev: false - /contentlayer/0.3.0_qmecdceofcvmurqim4ud7myj3a: + /contentlayer/0.3.0_e24fifms7lyt2dudodzemqbuwu: resolution: {integrity: sha512-3LEF5HMHjSytlT8SErC3U59Pt2LP80a6Z2f/0mSIPeA4xty0LNChyHqzALySSM0osAEz32RY56Fifk5P+2dCIA==} engines: {node: '>=14.18'} hasBin: true requiresBuild: true dependencies: - '@contentlayer/cli': 0.3.0_qmecdceofcvmurqim4ud7myj3a - '@contentlayer/client': 0.3.0_qmecdceofcvmurqim4ud7myj3a - '@contentlayer/core': 0.3.0_qmecdceofcvmurqim4ud7myj3a - '@contentlayer/source-files': 0.3.0_qmecdceofcvmurqim4ud7myj3a - '@contentlayer/source-remote-files': 0.3.0_qmecdceofcvmurqim4ud7myj3a + '@contentlayer/cli': 0.3.0_e24fifms7lyt2dudodzemqbuwu + '@contentlayer/client': 0.3.0_e24fifms7lyt2dudodzemqbuwu + '@contentlayer/core': 0.3.0_e24fifms7lyt2dudodzemqbuwu + '@contentlayer/source-files': 0.3.0_e24fifms7lyt2dudodzemqbuwu + '@contentlayer/source-remote-files': 0.3.0_e24fifms7lyt2dudodzemqbuwu '@contentlayer/utils': 0.3.0 transitivePeerDependencies: - '@effect-ts/otel-node' @@ -1413,34 +1423,34 @@ packages: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: false - /esbuild/0.17.12: - resolution: {integrity: sha512-bX/zHl7Gn2CpQwcMtRogTTBf9l1nl+H6R8nUbjk+RuKqAE3+8FDulLA+pHvX7aA7Xe07Iwa+CWvy9I8Y2qqPKQ==} + /esbuild/0.17.14: + resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.12 - '@esbuild/android-arm64': 0.17.12 - '@esbuild/android-x64': 0.17.12 - '@esbuild/darwin-arm64': 0.17.12 - '@esbuild/darwin-x64': 0.17.12 - '@esbuild/freebsd-arm64': 0.17.12 - '@esbuild/freebsd-x64': 0.17.12 - '@esbuild/linux-arm': 0.17.12 - '@esbuild/linux-arm64': 0.17.12 - '@esbuild/linux-ia32': 0.17.12 - '@esbuild/linux-loong64': 0.17.12 - '@esbuild/linux-mips64el': 0.17.12 - '@esbuild/linux-ppc64': 0.17.12 - '@esbuild/linux-riscv64': 0.17.12 - '@esbuild/linux-s390x': 0.17.12 - '@esbuild/linux-x64': 0.17.12 - '@esbuild/netbsd-x64': 0.17.12 - '@esbuild/openbsd-x64': 0.17.12 - '@esbuild/sunos-x64': 0.17.12 - '@esbuild/win32-arm64': 0.17.12 - '@esbuild/win32-ia32': 0.17.12 - '@esbuild/win32-x64': 0.17.12 + '@esbuild/android-arm': 0.17.14 + '@esbuild/android-arm64': 0.17.14 + '@esbuild/android-x64': 0.17.14 + '@esbuild/darwin-arm64': 0.17.14 + '@esbuild/darwin-x64': 0.17.14 + '@esbuild/freebsd-arm64': 0.17.14 + '@esbuild/freebsd-x64': 0.17.14 + '@esbuild/linux-arm': 0.17.14 + '@esbuild/linux-arm64': 0.17.14 + '@esbuild/linux-ia32': 0.17.14 + '@esbuild/linux-loong64': 0.17.14 + '@esbuild/linux-mips64el': 0.17.14 + '@esbuild/linux-ppc64': 0.17.14 + '@esbuild/linux-riscv64': 0.17.14 + '@esbuild/linux-s390x': 0.17.14 + '@esbuild/linux-x64': 0.17.14 + '@esbuild/netbsd-x64': 0.17.14 + '@esbuild/openbsd-x64': 0.17.14 + '@esbuild/sunos-x64': 0.17.14 + '@esbuild/win32-arm64': 0.17.14 + '@esbuild/win32-ia32': 0.17.14 + '@esbuild/win32-x64': 0.17.14 dev: false /escalade/3.1.1: @@ -1575,8 +1585,8 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /framer-motion/10.8.5_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-qwvUAIwCc6fEZhg7ST+/z+f7Vt882jJvLiWZUHNdq2oZ/Y7gM6mLlpKi9xQg+pLu6DQVypikcKQ+MKnoFoXAJg==} + /framer-motion/10.9.1_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-fuCDRGKOu5n9gN2/R7O22mE+BHMGK5D57S3Oq8n2ITd4aYR7D22QM5I4VPD3CWahNt/lyDUs20u9Aw+6ah9oAQ==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -1877,6 +1887,15 @@ packages: '@types/estree': 1.0.0 dev: false + /isomorphic-fetch/3.0.0: + resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + dependencies: + node-fetch: 2.6.9 + whatwg-fetch: 3.6.2 + transitivePeerDependencies: + - encoding + dev: false + /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: false @@ -2181,17 +2200,17 @@ packages: '@types/mdast': 3.0.10 dev: false - /mdx-bundler/9.2.1_esbuild@0.17.12: + /mdx-bundler/9.2.1_esbuild@0.17.14: 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.12 + '@esbuild-plugins/node-resolve': 0.1.4_esbuild@0.17.14 '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@mdx-js/esbuild': 2.3.0_esbuild@0.17.12 - esbuild: 0.17.12 + '@mdx-js/esbuild': 2.3.0_esbuild@0.17.14 + esbuild: 0.17.14 gray-matter: 4.0.3 remark-frontmatter: 4.0.1 remark-mdx-frontmatter: 1.1.1 @@ -2571,14 +2590,14 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /next-contentlayer/0.3.0_fwtlsludu3mxobm5kzti3ccmlm: + /next-contentlayer/0.3.0_4jrksbpguxv75tdufwflb7i7k4: resolution: {integrity: sha512-vt+RaD3nIgZ6oXadtZH19a1mpxvGEoiifdtmXqBSz4rHMRcMA1YZCuSWyj+P9uX7MDmIL6JT6QSp+hvTBMaxiw==} peerDependencies: next: ^12 || ^13 react: '*' react-dom: '*' dependencies: - '@contentlayer/core': 0.3.0_qmecdceofcvmurqim4ud7myj3a + '@contentlayer/core': 0.3.0_e24fifms7lyt2dudodzemqbuwu '@contentlayer/utils': 0.3.0 next: 13.2.4_756ubwvsgazzkcxtigvs4yqbci react: 18.2.0 @@ -2650,6 +2669,18 @@ packages: engines: {node: '>=10.5.0'} dev: false + /node-fetch/2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + /node-fetch/3.3.0: resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2782,13 +2813,13 @@ packages: postcss-selector-parser: 6.0.11 dev: true - /postcss-nesting/11.2.1_postcss@8.4.21: - resolution: {integrity: sha512-E6Jq74Jo/PbRAtZioON54NPhUNJYxVWhwxbweYl1vAoBYuGlDIts5yhtKiZFLvkvwT73e/9nFrW3oMqAtgG+GQ==} + /postcss-nesting/11.2.2_postcss@8.4.21: + resolution: {integrity: sha512-aOTiUniAB1bcPE6GGiynWRa6PZFPhOTAm5q3q5cem6QeSijIHHkWr6gs65ukCZMXeak8yXeZVbBJET3VM+HlhA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/selector-specificity': 2.1.1_wajs5nedgkikc5pcuwett7legi + '@csstools/selector-specificity': 2.2.0_laljekdltgzr3kfi7r4exvsr5a postcss: 8.4.21 postcss-selector-parser: 6.0.11 dev: true @@ -2851,7 +2882,7 @@ packages: '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 '@types/long': 4.0.2 - '@types/node': 18.15.5 + '@types/node': 18.15.10 long: 4.0.0 dev: false @@ -2870,7 +2901,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 18.15.5 + '@types/node': 18.15.10 long: 5.2.1 dev: false @@ -2892,6 +2923,14 @@ packages: scheduler: 0.23.0 dev: false + /react-wrap-balancer/0.4.0_react@18.2.0: + resolution: {integrity: sha512-MUsROihHd7bFHCo9kCOifKDYBEZPgKTyGvfa8RcwRQKtT2cL7Um9Cc8A7GvuT8t3np7LAGsEkzdEyJdKrr5lVQ==} + peerDependencies: + react: ^18.0.0 + dependencies: + react: 18.2.0 + dev: false + /react/18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -3238,6 +3277,10 @@ packages: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} dev: false + /tr46/0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + /trim-lines/3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: false @@ -3407,6 +3450,21 @@ packages: engines: {node: '>= 8'} dev: false + /webidl-conversions/3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /whatwg-fetch/3.6.2: + resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + dev: false + + /whatwg-url/5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..20dd6e51d1580b619d9d7268df522e973a8fb233 GIT binary patch literal 759 zcmVHXdo5<<`^?@Y>OED^?Lo)&*5+=_y5#ZAQoV;Sg;2@9*z$_7uT6YIIbU_h}H)>USX)`$e)t^m^9SgI7+8j%ZdS188(Q)4c`J5L_unjksH zT!0jjT!KgdPIQL=?<|5y0PZ%WabU4RbPnL|@4MZOitLSIn9t{B`TQBx8KKkZl&4G) zK>#-wK)(Ms{jGzWVr!(t;uyej1H=HVD3{G?=?#;r0g$l#;w6 zgcSDKz~Le>VxqF7fl5t~Tfm?{aREMz)})|{TPF=v1i \ No newline at end of file diff --git a/public/og.png b/public/og.png new file mode 100644 index 0000000000000000000000000000000000000000..ff477e7cc624d07b003c17f216a309d59d389f05 GIT binary patch literal 348962 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%0Dc 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
  • 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%0DlD8)S-{(6F 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 ha07NO|-v?wk_NCXgWvYD|sj|QxYwk2{W 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 \ No newline at end of file diff --git a/public/vercel.svg b/public/vercel.svg deleted file mode 100644 index d2f8422..0000000 --- a/public/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file