vinojs 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/client.mjs +1 -1
  2. package/dist/{compile-Lxl_tdxL.mjs → compile-glNMkyyx.mjs} +3 -47
  3. package/dist/compile-glNMkyyx.mjs.map +1 -0
  4. package/dist/{definePage-Ba4r-TFh.mjs → definePage--9Pz7rHs.mjs} +29 -7
  5. package/dist/definePage--9Pz7rHs.mjs.map +1 -0
  6. package/dist/defineServerFn-H-bz7xBX.mjs +47 -0
  7. package/dist/defineServerFn-H-bz7xBX.mjs.map +1 -0
  8. package/dist/factory-CVT0-OZw.d.mts +187 -0
  9. package/dist/factory-CVT0-OZw.d.mts.map +1 -0
  10. package/dist/factory.d.mts +2 -0
  11. package/dist/factory.mjs +153 -0
  12. package/dist/factory.mjs.map +1 -0
  13. package/dist/vino.d.mts +4 -103
  14. package/dist/vino.d.mts.map +1 -1
  15. package/dist/vino.mjs +8 -3
  16. package/dist/vino.mjs.map +1 -1
  17. package/dist/vite.mjs +3 -2
  18. package/dist/vite.mjs.map +1 -1
  19. package/package.json +5 -1
  20. package/dist/compile-Lxl_tdxL.mjs.map +0 -1
  21. package/dist/definePage-Ba4r-TFh.mjs.map +0 -1
  22. package/examples/basic/dist/client/.assetsignore +0 -2
  23. package/examples/basic/dist/client/about.html +0 -1
  24. package/examples/basic/dist/client/admin.html +0 -1
  25. package/examples/basic/dist/client/assets/Counter-BvqMZKON.js +0 -1
  26. package/examples/basic/dist/client/assets/_slug_-CYpOSbrn.js +0 -1
  27. package/examples/basic/dist/client/assets/about-BZXRzUyv.js +0 -1
  28. package/examples/basic/dist/client/assets/admin-DRE7uh2s.js +0 -1
  29. package/examples/basic/dist/client/assets/client-B6nFkut5.js +0 -1
  30. package/examples/basic/dist/client/assets/client-pages-Bc6cNZAm.js +0 -2
  31. package/examples/basic/dist/client/assets/components-DX9r6vHn.js +0 -1
  32. package/examples/basic/dist/client/assets/components-DsWJ6F73.js +0 -2
  33. package/examples/basic/dist/client/assets/counter-DBpvln_F.js +0 -1
  34. package/examples/basic/dist/client/assets/dom-B5sHIJ1E.js +0 -1
  35. package/examples/basic/dist/client/assets/honoto-9UtdLp4J.js +0 -33
  36. package/examples/basic/dist/client/assets/honoto-client-DEh86_WZ.css +0 -1
  37. package/examples/basic/dist/client/assets/honoto-client.js +0 -2
  38. package/examples/basic/dist/client/assets/hooks-Cz6AT21d.js +0 -1
  39. package/examples/basic/dist/client/assets/jsx-dev-runtime-92VDsVyo.js +0 -1
  40. package/examples/basic/dist/client/counter.html +0 -1
  41. package/examples/basic/dist/client/index.html +0 -1
  42. package/examples/basic/dist/client/jobs.html +0 -1
  43. package/examples/basic/dist/ssr/.vite/manifest.json +0 -140
  44. package/examples/basic/dist/ssr/assets/_slug_-CY3-kffX.js +0 -46
  45. package/examples/basic/dist/ssr/assets/about-CTDjNhkO.js +0 -15
  46. package/examples/basic/dist/ssr/assets/admin-DvS-UGJx.js +0 -26
  47. package/examples/basic/dist/ssr/assets/constants-UoriGYcX-CUecBFMT.js +0 -6
  48. package/examples/basic/dist/ssr/assets/counter-DfIbc9Sp.js +0 -30
  49. package/examples/basic/dist/ssr/assets/honoto-CA313cVy.js +0 -2129
  50. package/examples/basic/dist/ssr/assets/jobs-D9hh-UO9.js +0 -42
  51. package/examples/basic/dist/ssr/assets/jsx-CgYLQazd.js +0 -1080
  52. package/examples/basic/dist/ssr/assets/jsx-dev-runtime-BlUda7H8.js +0 -742
  53. package/examples/basic/dist/ssr/assets/jsx-renderer-CzZcZPnS.js +0 -65
  54. package/examples/basic/dist/ssr/assets/layout-DYvLwr2u.js +0 -53
  55. package/examples/basic/dist/ssr/assets/pages-DB6jeyrt.js +0 -53
  56. package/examples/basic/dist/ssr/assets/rolldown-runtime-D7D4PA-g.js +0 -13
  57. package/examples/basic/dist/ssr/assets/ssr-hooks-CBQr0cdH.js +0 -7
  58. package/examples/basic/dist/ssr/index.js +0 -22
  59. package/examples/basic/dist/ssr/wrangler.json +0 -1
  60. package/examples/full/dist/client/.assetsignore +0 -2
  61. package/examples/full/dist/client/assets/BookmarkButton-py0xGxgl.js +0 -1
  62. package/examples/full/dist/client/assets/_slug_-DZUFsE9O.js +0 -1
  63. package/examples/full/dist/client/assets/auth-client-D2Wtuobe.js +0 -1
  64. package/examples/full/dist/client/assets/bun-sqlite-dialect-C7ftEUSI-CsHdUKBY.js +0 -1
  65. package/examples/full/dist/client/assets/client-B6nFkut5.js +0 -1
  66. package/examples/full/dist/client/assets/client-pages-fshKs747.js +0 -2
  67. package/examples/full/dist/client/assets/components-DX9r6vHn.js +0 -1
  68. package/examples/full/dist/client/assets/components-S_-rWrKi.js +0 -2
  69. package/examples/full/dist/client/assets/d1-sqlite-dialect-BZmaVTp8-FPCaMZqX.js +0 -1
  70. package/examples/full/dist/client/assets/default-query-compiler-CUdqIu1h.js +0 -1
  71. package/examples/full/dist/client/assets/dist-BoGTNvkC.js +0 -1
  72. package/examples/full/dist/client/assets/dom-DCd3wYW7.js +0 -1
  73. package/examples/full/dist/client/assets/factory-Bgf4EtLx.js +0 -8
  74. package/examples/full/dist/client/assets/honoto-client-BSvNAnxN.css +0 -1
  75. package/examples/full/dist/client/assets/honoto-client.js +0 -2
  76. package/examples/full/dist/client/assets/hooks-Cz6AT21d.js +0 -1
  77. package/examples/full/dist/client/assets/jsx-dev-runtime-92VDsVyo.js +0 -1
  78. package/examples/full/dist/client/assets/kysely-adapter-BHhasAnc.js +0 -1
  79. package/examples/full/dist/client/assets/kysely-migration-tables-DFfmKhq--U5ujlMwE.js +0 -1
  80. package/examples/full/dist/client/assets/node-sqlite-dialect-DJDXH5Ot.js +0 -1
  81. package/examples/full/dist/client/assets/pages-CUQx6Eus.js +0 -1
  82. package/examples/full/dist/client/assets/saved-jIi74ncJ.js +0 -1
  83. package/examples/full/dist/client/assets/session-B-accyM3.js +0 -611
  84. package/examples/full/dist/client/assets/sign-in-BelI3gSs.js +0 -1
  85. package/examples/full/dist/client/assets/sign-up-pR94lfdu.js +0 -1
  86. package/examples/full/dist/client/index.html +0 -1
  87. package/examples/full/dist/client/saved.html +0 -1
  88. package/examples/full/dist/client/sign-in.html +0 -1
  89. package/examples/full/dist/client/sign-up.html +0 -1
  90. package/examples/full/dist/ssr/.dev.vars +0 -1
  91. package/examples/full/dist/ssr/.vite/manifest.json +0 -219
  92. package/examples/full/dist/ssr/assets/BookmarkButton-KS7z5_vi.js +0 -298
  93. package/examples/full/dist/ssr/assets/_slug_-rRStRaAN.js +0 -89
  94. package/examples/full/dist/ssr/assets/auth-DSFZ4iak.js +0 -31434
  95. package/examples/full/dist/ssr/assets/auth-client-BFSBVoML.js +0 -894
  96. package/examples/full/dist/ssr/assets/bun-sqlite-dialect-C7ftEUSI-BeXpIqKl.js +0 -162
  97. package/examples/full/dist/ssr/assets/compiled-query-DmoyCh28.js +0 -8410
  98. package/examples/full/dist/ssr/assets/d1-sqlite-dialect-BZmaVTp8-CjJdvL94.js +0 -114
  99. package/examples/full/dist/ssr/assets/default-query-compiler-D7xOzCCJ.js +0 -1727
  100. package/examples/full/dist/ssr/assets/dist-LmmDoNdk.js +0 -6832
  101. package/examples/full/dist/ssr/assets/dist-kFDN1l4Z.js +0 -342
  102. package/examples/full/dist/ssr/assets/factory-AD6s9SIW.js +0 -2079
  103. package/examples/full/dist/ssr/assets/jsx-renderer-mMLf5XLN.js +0 -1926
  104. package/examples/full/dist/ssr/assets/kysely-adapter-BCLenpM8.js +0 -2
  105. package/examples/full/dist/ssr/assets/kysely-migration-tables-DFfmKhq--BtVr6hRe.js +0 -17
  106. package/examples/full/dist/ssr/assets/layout-mVA7qP4j.js +0 -44
  107. package/examples/full/dist/ssr/assets/node-sqlite-dialect-D-wtYAD7.js +0 -162
  108. package/examples/full/dist/ssr/assets/pages-Do5kR_Ia.js +0 -147
  109. package/examples/full/dist/ssr/assets/saved-Dr4pP6B5.js +0 -111
  110. package/examples/full/dist/ssr/assets/session-BvIpX7tr.js +0 -13
  111. package/examples/full/dist/ssr/assets/sign-in-22pzTnJE.js +0 -115
  112. package/examples/full/dist/ssr/assets/sign-up-CN4j8Qg1.js +0 -117
  113. package/examples/full/dist/ssr/assets/sqlite-adapter-DVlms5wO.js +0 -79
  114. package/examples/full/dist/ssr/index.js +0 -97
  115. package/examples/full/dist/ssr/wrangler.json +0 -1
@@ -1,65 +0,0 @@
1
- import { D as resolveCallbackSync, O as stringBufferToString, T as raw, g as useContext, i as jsx, m as createContext, n as Fragment, w as escapeToBuffer } from "./jsx-dev-runtime-BlUda7H8.js";
2
- import { t as renderToReadableStream } from "./jsx-CgYLQazd.js";
3
- //#region ../../node_modules/.pnpm/hono@4.13.3/node_modules/hono/dist/helper/html/index.js
4
- var html = (strings, ...values) => {
5
- const buffer = [""];
6
- for (let i = 0, len = strings.length - 1; i < len; i++) {
7
- buffer[0] += strings[i];
8
- const children = Array.isArray(values[i]) ? values[i].flat(Infinity) : [values[i]];
9
- for (let i2 = 0, len2 = children.length; i2 < len2; i2++) {
10
- const child = children[i2];
11
- if (typeof child === "string") escapeToBuffer(child, buffer);
12
- else if (typeof child === "number") buffer[0] += child;
13
- else if (typeof child === "boolean" || child === null || child === void 0) continue;
14
- else if (typeof child === "object" && child.isEscaped) {
15
- if (child.callbacks) buffer.unshift("", child);
16
- else {
17
- const tmp = child.toString();
18
- if (tmp instanceof Promise) buffer.unshift("", tmp);
19
- else buffer[0] += tmp;
20
- }
21
- } else if (child instanceof Promise) buffer.unshift("", child);
22
- else escapeToBuffer(child.toString(), buffer);
23
- }
24
- }
25
- buffer[0] += strings.at(-1);
26
- return buffer.length === 1 ? "callbacks" in buffer ? raw(resolveCallbackSync(raw(buffer[0], buffer.callbacks))) : raw(buffer[0]) : stringBufferToString(buffer, buffer.callbacks);
27
- };
28
- //#endregion
29
- //#region ../../node_modules/.pnpm/hono@4.13.3/node_modules/hono/dist/middleware/jsx-renderer/index.js
30
- var RequestContext = createContext(null);
31
- var createRenderer = (c, Layout, component, options) => (children, props) => {
32
- options = typeof options === "function" ? options(c) : options;
33
- const docType = typeof options?.docType === "string" ? options.docType : options?.docType === false ? "" : "<!DOCTYPE html>";
34
- const currentLayout = component ? jsx((props2) => component(props2, c), {
35
- Layout,
36
- ...props
37
- }, children) : children;
38
- const body = html`${raw(docType)}${jsx(RequestContext.Provider, { value: c }, currentLayout)}`;
39
- if (options?.stream) {
40
- if (options.stream === true) {
41
- c.header("Transfer-Encoding", "chunked");
42
- c.header("Content-Type", "text/html; charset=UTF-8");
43
- c.header("Content-Encoding", "Identity");
44
- } else for (const [key, value] of Object.entries(options.stream)) c.header(key, value);
45
- return c.body(renderToReadableStream(body));
46
- } else return c.html(body);
47
- };
48
- var jsxRenderer = (component, options) => function jsxRenderer2(c, next) {
49
- const Layout = c.getLayout() ?? Fragment;
50
- if (component) c.setLayout((props) => {
51
- return component({
52
- ...props,
53
- Layout
54
- }, c);
55
- });
56
- c.setRenderer(createRenderer(c, Layout, component, options));
57
- return next();
58
- };
59
- var useRequestContext = () => {
60
- const c = useContext(RequestContext);
61
- if (!c) throw new Error("RequestContext is not provided.");
62
- return c;
63
- };
64
- //#endregion
65
- export { useRequestContext as n, jsxRenderer as t };
@@ -1,53 +0,0 @@
1
- import { t as jsxDEV } from "./jsx-dev-runtime-BlUda7H8.js";
2
- import { n as useRequestContext } from "./jsx-renderer-CzZcZPnS.js";
3
- //#region src/layout/index.tsx
4
- function Layout({ children }) {
5
- const pathname = useRequestContext().req.path;
6
- return /* @__PURE__ */ jsxDEV("html", { children: [/* @__PURE__ */ jsxDEV("head", { children: [
7
- /* @__PURE__ */ jsxDEV("meta", { charset: "utf-8" }),
8
- /* @__PURE__ */ jsxDEV("meta", {
9
- name: "viewport",
10
- content: "width=device-width, initial-scale=1"
11
- }),
12
- /* @__PURE__ */ jsxDEV("title", { children: "Honoto" })
13
- ] }), /* @__PURE__ */ jsxDEV("body", {
14
- class: "bg-[#f6f4ef] text-[#111]",
15
- children: [/* @__PURE__ */ jsxDEV("nav", {
16
- class: "flex gap-4 p-4 bg-[#1c1917]",
17
- children: [
18
- /* @__PURE__ */ jsxDEV("a", {
19
- href: "/",
20
- class: `text-[#fafaf9] no-underline border-transparent border-b-2 hover:b-b-current ${pathname === "/" ? "b-b-current" : ""}`,
21
- children: "Home"
22
- }),
23
- /* @__PURE__ */ jsxDEV("a", {
24
- href: "/about",
25
- class: `text-[#fafaf9] no-underline border-transparent border-b-2 hover:b-b-current ${pathname === "/about" ? "b-b-current" : ""}`,
26
- children: "About"
27
- }),
28
- /* @__PURE__ */ jsxDEV("a", {
29
- href: "/jobs",
30
- class: `text-[#fafaf9] no-underline border-transparent border-b-2 hover:b-b-current ${pathname === "/jobs" ? "b-b-current" : ""}`,
31
- children: "Jobs"
32
- }),
33
- /* @__PURE__ */ jsxDEV("a", {
34
- href: "/blog/hello",
35
- class: `text-[#fafaf9] no-underline border-transparent border-b-2 hover:b-b-current ${pathname.startsWith("/blog") ? "b-b-current" : ""}`,
36
- children: "Blog"
37
- }),
38
- /* @__PURE__ */ jsxDEV("a", {
39
- href: "/counter",
40
- class: `text-[#fafaf9] no-underline border-transparent border-b-2 hover:b-b-current ${pathname === "/counter" ? "b-b-current" : ""}`,
41
- children: "Counter"
42
- }),
43
- /* @__PURE__ */ jsxDEV("a", {
44
- href: "/admin",
45
- class: `text-[#fafaf9] no-underline border-transparent border-b-2 hover:b-b-current ${pathname === "/admin" ? "b-b-current" : ""}`,
46
- children: "Admin"
47
- })
48
- ]
49
- }), children]
50
- })] });
51
- }
52
- //#endregion
53
- export { Layout as default };
@@ -1,53 +0,0 @@
1
- import { t as jsxDEV } from "./jsx-dev-runtime-BlUda7H8.js";
2
- import { t as COMPONENT_TAG } from "./constants-UoriGYcX-CUecBFMT.js";
3
- import { t as useState } from "./ssr-hooks-CBQr0cdH.js";
4
- //#region ../../dist/component-wrap.mjs
5
- function serializeProps(props) {
6
- const rest = {};
7
- for (const [key, value] of Object.entries(props)) {
8
- if (key === "children") continue;
9
- if (typeof value === "function" || typeof value === "symbol") continue;
10
- rest[key] = value;
11
- }
12
- return JSON.stringify(rest);
13
- }
14
- function wrapComponent(Component, componentId, exportName) {
15
- function Wrapped(props = {}) {
16
- return jsxDEV(COMPONENT_TAG, {
17
- "data-component": componentId,
18
- "data-export": exportName,
19
- "data-props": serializeProps(props),
20
- children: jsxDEV(Component, props)
21
- });
22
- }
23
- Wrapped.displayName = `Honoto(${exportName})`;
24
- return Wrapped;
25
- }
26
- //#endregion
27
- //#region src/components/Counter.tsx
28
- function Counter({ initial = 0 }) {
29
- const [count, setCount] = useState(initial);
30
- return /* @__PURE__ */ jsxDEV("button", {
31
- type: "button",
32
- onClick: () => setCount(count + 1),
33
- class: "bg-[#1c1917] text-[#fafaf9] px-4 py-2 rounded-md hover:bg-[#2b2826]",
34
- children: ["Count: ", count]
35
- });
36
- }
37
- //#endregion
38
- //#region src/components/Counter.tsx?honoto-wrap
39
- var Counter_default = wrapComponent(Counter, "/src/components/Counter.tsx", "default");
40
- //#endregion
41
- //#region src/pages/index.tsx
42
- function Home() {
43
- return /* @__PURE__ */ jsxDEV("main", {
44
- class: "max-w-4xl mx-auto p-4",
45
- children: [
46
- /* @__PURE__ */ jsxDEV("h1", { children: "Honoto" }),
47
- /* @__PURE__ */ jsxDEV("p", { children: "Home page with a hydratable counter widget." }),
48
- /* @__PURE__ */ jsxDEV(Counter_default, { initial: 3 })
49
- ]
50
- });
51
- }
52
- //#endregion
53
- export { Home as default };
@@ -1,13 +0,0 @@
1
- //#region \0rolldown/runtime.js
2
- var __defProp = Object.defineProperty;
3
- var __exportAll = (all, no_symbols) => {
4
- let target = {};
5
- for (var name in all) __defProp(target, name, {
6
- get: all[name],
7
- enumerable: true
8
- });
9
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
- return target;
11
- };
12
- //#endregion
13
- export { __exportAll as t };
@@ -1,7 +0,0 @@
1
- import "./jsx-CgYLQazd.js";
2
- //#region \0virtual:honoto/ssr-hooks
3
- function useState(initial) {
4
- return [typeof initial === "function" ? initial() : initial, () => {}];
5
- }
6
- //#endregion
7
- export { useState as t };
@@ -1,22 +0,0 @@
1
- import { a as Hono, t as createHonoto } from "./assets/honoto-CA313cVy.js";
2
- import { t as jsxRenderer } from "./assets/jsx-renderer-CzZcZPnS.js";
3
- //#region src/api.ts
4
- var api = new Hono().get("/todos", jsxRenderer(), (c) => c.json([{
5
- id: 1,
6
- title: "Ship honoto"
7
- }]));
8
- //#endregion
9
- //#region src/server.ts
10
- var app = new Hono();
11
- var client = createHonoto();
12
- client.use(async (c, next) => {
13
- c.header("X-Honoto", "1");
14
- await next();
15
- });
16
- app.route("/", client);
17
- app.route("/api", api);
18
- //#endregion
19
- //#region \0virtual:cloudflare/worker-entry
20
- var worker_entry_default = app ?? {};
21
- //#endregion
22
- export { worker_entry_default as default };
@@ -1 +0,0 @@
1
- {"configPath":"/home/chris/workspace/proto/vino/examples/basic/wrangler.jsonc","userConfigPath":"/home/chris/workspace/proto/vino/examples/basic/wrangler.jsonc","topLevelName":"honoto-example-basic","definedEnvironments":[],"compatibility_date":"2026-08-18","compatibility_flags":["nodejs_compat"],"jsx_factory":"React.createElement","jsx_fragment":"React.Fragment","rules":[{"type":"ESModule","globs":["**/*.js","**/*.mjs"]}],"name":"honoto-example-basic","main":"index.js","triggers":{},"assets":{"directory":"../client"},"vars":{},"durable_objects":{"bindings":[]},"workflows":[],"migrations":[],"exports":{},"kv_namespaces":[],"cloudchamber":{},"send_email":[],"queues":{"producers":[],"consumers":[]},"connect":[],"r2_buckets":[],"d1_databases":[],"vectorize":[],"ai_search_namespaces":[],"ai_search":[],"agent_memory":[],"hyperdrive":[],"services":[],"analytics_engine_datasets":[],"dispatch_namespaces":[],"mtls_certificates":[],"pipelines":[],"secrets_store_secrets":[],"artifacts":[],"unsafe_hello_world":[],"flagship":[],"worker_loaders":[],"ratelimits":[],"vpc_services":[],"vpc_networks":[],"logfwdr":{"bindings":[]},"python_modules":{"exclude":["**/*.pyc"]},"dev":{"ip":"localhost","local_protocol":"http","upstream_protocol":"http","enable_containers":true,"generate_types":false},"no_bundle":true}
@@ -1,2 +0,0 @@
1
- wrangler.json
2
- .dev.vars
@@ -1 +0,0 @@
1
- import{Q as e,_ as t}from"./hooks-Cz6AT21d.js";import"./dom-DCd3wYW7.js";import{t as n}from"./jsx-dev-runtime-92VDsVyo.js";var r=/^[\w!#$%&'*.^`|~+-]+$/,i=(e,t,n={})=>{if(!r.test(e))throw Error(`Invalid cookie name`);let i=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);i+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(i+=`; Domain=${n.domain}`),n.path&&(i+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);i+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(i+=`; HttpOnly`),n.secure&&(i+=`; Secure`),n.sameSite&&(i+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(i+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);i+=`; Partitioned`}return i},a=(e,t,n)=>(t=encodeURIComponent(t),i(e,t,n)),o=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),s=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??(?=/|$)`);e=e.replace(t,()=>r?`/${r}`:``)}return e},c=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0){if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r)}return t},l=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},u=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function d(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function f(e,t){if(!d(e)&&!d(t))return t;let n={...e};for(let e in t){let r=t[e];n[e]=d(n[e])&&d(r)?f(n[e],r):r}return n}var p=(e,t)=>new Proxy(()=>{},{get(n,r){if(typeof r==`string`&&r!==`then`)return p(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),m=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0){if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r)}this.rBody=t}e.json!==void 0&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(a(n,r));r.Cookie=t.join(`; `)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),o=this.url;o=u(o),o=s(o,this.pathParams),this.queryParams&&(o=o+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let c=n!==`GET`&&n!==`HEAD`;return(t?.fetch||fetch)(o,{body:c?this.rBody:void 0,method:n,headers:i,...t?.init})}},h=((e,t)=>p(function n(r){let i=t?.buildSearchParams??c,a=[...r.path],d=a.slice(-3).reverse();if(d[0]===`toString`)return d[1]===`name`?d[2]||``:n.toString();if(d[0]===`valueOf`)return d[1]===`name`?d[2]||``:n;let p=``;if(/^\$/.test(d[0])){let e=a.pop();e&&(p=e.replace(/^\$/,``))}let h=o(e,a.join(`/`));if(p===`url`||p===`path`){let t=h;return r.args[0]&&(r.args[0].param&&(t=s(h,r.args[0].param)),r.args[0].query&&(t=t+`?`+i(r.args[0].query).toString())),t=u(t),p===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(p===`ws`){let e=l(r.args[0]&&r.args[0].param?s(h,r.args[0].param):h,`ws`),n=new URL(e),i=r.args[0]?.query;return i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(n.toString())}let g=new m(h,p,{buildSearchParams:i});if(p){t??={};let e={...r.args[1]},n=t.headers,i=e.headers;n&&i&&(e.headers=async()=>({...typeof n==`function`?await n():n,...typeof i==`function`?await i():i}));let a=f(t,e);return g.fetch(r.args[0],a)}return g},[]))(`/`),g=e({default:()=>_});function _(e){let[r,i]=t(e.initialBookmarked??!1),[a,o]=t(!1),[s,c]=t(null);async function l(){if(!e.signedIn){window.location.href=`/sign-in`;return}if(!a){o(!0),c(null);try{if(r){if(!(await h.api.bookmarks[`:articleId`].$delete({param:{articleId:e.articleId}})).ok)throw Error(`Failed to remove bookmark`);i(!1)}else{if(!(await h.api.bookmarks.$post({json:{articleId:e.articleId}})).ok)throw Error(`Failed to save bookmark`);i(!0)}}catch(e){c(e instanceof Error?e.message:`Something went wrong`)}finally{o(!1)}}}return n(`span`,{class:`inline-flex flex-col items-start gap-1`,children:[n(`button`,{type:`button`,onClick:l,disabled:a,class:`text-sm px-3 py-1.5 rounded-md border ${r?`bg-stone-900 text-stone-50 border-stone-900`:`bg-white text-stone-800 border-stone-300 hover:border-stone-500`} disabled:opacity-50`,children:r?`Saved`:`Save`}),s?n(`span`,{class:`text-xs text-red-700`,children:s}):null]})}export{g as n,h as r,_ as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./honoto-client.js";import{t}from"./BookmarkButton-py0xGxgl.js";import{t as n}from"./jsx-dev-runtime-92VDsVyo.js";import{_ as r,b as i,g as a,h as o,t as s,y as c}from"./session-B-accyM3.js";var l=e({async data(e){let t=e.env,n=o(t.DB),l=await s(e),u=e.req.param(`slug`),d=await n.select().from(a).where(i(a.slug,u)).get();if(!d)return{user:l,article:null,bookmarked:!1};let f=!1;return l&&(f=!!await n.select().from(r).where(c(i(r.userId,l.id),i(r.articleId,d.id))).get()),{user:l,bookmarked:f,article:{id:d.id,slug:d.slug,title:d.title,excerpt:d.excerpt,body:d.body,author:d.author,publishedAt:d.publishedAt instanceof Date?d.publishedAt.toISOString():String(d.publishedAt)}}},render({data:e}){if(!e.article)return n(`main`,{class:`max-w-2xl mx-auto px-4 py-8`,children:[n(`h1`,{class:`text-2xl font-semibold`,children:`Article not found`}),n(`a`,{href:`/`,class:`text-stone-600 underline mt-4 inline-block`,children:`Back to feed`})]});let{article:r}=e;return n(`main`,{class:`max-w-2xl mx-auto px-4 py-8`,children:[n(`a`,{href:`/`,class:`text-sm text-stone-500 no-underline hover:underline`,children:`← Feed`}),n(`div`,{class:`flex items-start justify-between gap-4 mt-4`,children:[n(`div`,{children:[n(`h1`,{class:`text-3xl font-semibold tracking-tight`,children:r.title}),n(`p`,{class:`text-sm text-stone-500 mt-2`,children:[r.author,` · `,new Date(r.publishedAt).toLocaleDateString()]})]}),n(t,{articleId:r.id,initialBookmarked:e.bookmarked,signedIn:!!e.user})]}),n(`p`,{class:`mt-6 text-lg text-stone-600 leading-relaxed`,children:r.excerpt}),n(`div`,{class:`mt-8 text-stone-800 leading-7 whitespace-pre-wrap`,children:r.body})]})}});export{l as default};
@@ -1 +0,0 @@
1
- import{a as e,d as t,f as n,m as r,o as i,p as a}from"./session-B-accyM3.js";var o=Symbol.for(`better-auth:broadcast-channel`),s=()=>Math.floor(Date.now()/1e3),c=class{listeners=new Set;name;constructor(e=`better-auth.message`){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if(!(typeof window>`u`))try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:s()}))}catch{}}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??`{}`);t?.event!==`session`||!t?.data||this.listeners.forEach(e=>e(t))};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}}};function l(e=`better-auth.message`){return globalThis[o]||(globalThis[o]=new c(e)),globalThis[o]}var u=[],d=0,f=null,p=4,m=globalThis.nanostoresGlobal||={epoch:0},h=()=>{let e;for(d=0;d<u.length;d+=p)try{u[d](u[d+1].value,u[d+2],u[d+3])}catch(t){e=t}if(u.length=0,e)throw e},g=e=>{let t=[],n={eq:Object.is,get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{for(let t=d+p;t<u.length;)u[t]===e?u.splice(t,p):t+=p;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){m.epoch++;let i=!u.length&&!0;for(let i of t)f?.has(i)||(f?.add(i),u.push(i,n,e,r));i&&h()},off(){},set(e){let t=n.value;n.eq(t,e)||(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},_=2,v=5,y=6,b=10,x=(e,t,n,r)=>(e.events=e.events||{},e.events[n+b]||(e.events[n+b]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);r.splice(i,1),r.length||(delete e.events[n],e.events[n+b](),delete e.events[n+b])}),S=(e,t)=>x(e,t,_,t=>{let n=e.set,r=e.setKey;return e.setKey&&=(n,i)=>{let a;if(t({abort:()=>{a=!0},changed:n,newValue:{...e.value,[n]:i}}),!a)return r(n,i)},e.set=e=>{let r;if(t({abort:()=>{r=!0},newValue:e}),!r)return n(e)},()=>{e.set=n,e.setKey=r}}),C=1e3,w=(e,t)=>x(e,n=>{let r=t(n);r&&e.events[y].push(r)},v,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[y]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[y])t();e.events[y]=[]}},C)},()=>{e.listen=n,e.off=r}});function T(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function E(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!E(e[n],t[n]))return!1;return!0}if(T(e)&&T(t)){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!(r in t)||!E(e[r],t[r]))return!1;return!0}return!1}function D(e,t){return S(e,({newValue:n,abort:r})=>{t(e.value,n)&&r()})}var O=Symbol.for(`better-auth:focus-manager`),k=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||typeof document>`u`||window.addEventListener===void 0)return()=>{};let e=()=>{document.visibilityState===`visible`&&this.setFocused(!0)};return document.addEventListener(`visibilitychange`,e,!1),()=>{document.removeEventListener(`visibilitychange`,e,!1)}}};function A(){return globalThis[O]||(globalThis[O]=new k),globalThis[O]}var j=Symbol.for(`better-auth:online-manager`),M=class{listeners=new Set;isOnline=typeof navigator<`u`?navigator.onLine:!0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener(`online`,e,!1),window.addEventListener(`offline`,t,!1),()=>{window.removeEventListener(`online`,e,!1),window.removeEventListener(`offline`,t,!1)}}};function N(){return globalThis[j]||(globalThis[j]=new M),globalThis[j]}var P={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},F=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,I={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},L=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function R(e){return e instanceof Date&&!isNaN(e.getTime())}function z(e){let t=L.exec(e);if(!t)return null;let[,n,r,i,a,o,s,c,l,u,d]=t,f=new Date(Date.UTC(parseInt(n,10),parseInt(r,10)-1,parseInt(i,10),parseInt(a,10),parseInt(o,10),parseInt(s,10),c?parseInt(c.padEnd(3,`0`),10):0));if(l){let e=(parseInt(u,10)*60+parseInt(d,10))*(l===`+`?-1:1);f.setUTCMinutes(f.getUTCMinutes()+e)}return R(f)?f:null}function B(e,t={}){let{strict:n=!1,warnings:r=!1,reviver:i,parseDates:a=!0}=t;if(typeof e!=`string`)return e;let o=e.trim(),s=o.toLowerCase();if(s.length<=9&&s in I)return I[s];if(!F.test(o)){if(n)throw SyntaxError(`[better-json] Invalid JSON`);return e}if(Object.entries(P).some(([e,t])=>{let n=t.test(o);return n&&r&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),n})&&n)throw Error(`[better-json] Potential prototype pollution attempt detected`);try{return JSON.parse(o,(e,t)=>{if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){r&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);return}if(a&&typeof t==`string`){let e=z(t);if(e)return e}return i?i(e,t):t})}catch(t){if(n)throw t;return e}}function V(e,t={strict:!0}){return B(e,t)}var H=()=>Math.floor(Date.now()/1e3),U=5;function W(e){let{fetchSession:t,shouldPollSession:n=()=>!0,sessionSignal:r,options:i={}}=e,a=i.sessionOptions?.refetchInterval??0,o=i.sessionOptions?.refetchOnWindowFocus??!0,s=i.sessionOptions?.refetchWhenOffline??!1,c={isInitialized:!1,lastSessionRequest:0},u=()=>s||N().isOnline,d=e=>{if(u()){if(e?.event===`storage`){t();return}if(e?.event===`poll`){c.lastSessionRequest=H(),t();return}if(e?.event===`visibilitychange`){if(H()-c.lastSessionRequest<U)return;c.lastSessionRequest=H(),t();return}t()}},f=e=>{l().post({event:`session`,data:{trigger:e},clientId:Math.random().toString(36).substring(7)})},p=()=>{a&&a>0&&(c.pollInterval=setInterval(()=>{n()&&d({event:`poll`})},a*1e3))},m=()=>{c.unsubscribeBroadcast=l().subscribe(()=>{d({event:`storage`})})},h=()=>{o&&(c.unsubscribeFocus=A().subscribe(()=>{d({event:`visibilitychange`})}))},g=()=>{c.unsubscribeOnline=N().subscribe(e=>{e&&d({event:`visibilitychange`})})},_=()=>{c.unsubscribeSignal=r.listen(()=>{t()})};return{init:()=>{c.isInitialized||(c.isInitialized=!0,p(),m(),h(),g(),_(),c.cleanupBroadcastSetup=l().setup(),c.cleanupFocusSetup=A().setup(),c.cleanupOnlineSetup=N().setup())},cleanup:()=>{c.isInitialized&&(c.pollInterval&&=(clearInterval(c.pollInterval),void 0),c.unsubscribeBroadcast&&=(c.unsubscribeBroadcast(),void 0),c.unsubscribeFocus&&=(c.unsubscribeFocus(),void 0),c.unsubscribeOnline&&=(c.unsubscribeOnline(),void 0),c.unsubscribeSignal&&=(c.unsubscribeSignal(),void 0),c.cleanupBroadcastSetup&&=(c.cleanupBroadcastSetup(),void 0),c.cleanupFocusSetup&&=(c.cleanupFocusSetup(),void 0),c.cleanupOnlineSetup&&=(c.cleanupOnlineSetup(),void 0),c.isInitialized=!1,c.lastSessionRequest=0)},triggerRefetch:d,broadcastSessionUpdate:f}}var G={id:`redirect`,name:`Redirect`,hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&a(e.data.url)&&typeof window<`u`&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},K=()=>typeof window>`u`,q=C;function J(e,t){if(typeof window>`u`)return;let n=e.get();n.data===null&&t!==null&&e.set({...n,data:t,error:null,isPending:!1})}function Y(e){return typeof e==`object`&&e&&`data`in e&&`error`in e?e:{data:e,error:null}}function X(e){return!e||e.session===null&&e.user===null?null:e}function Z(e,t){return E(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function Q(e,t){let n=g(!1),r,i=0,a=0;n.listen(()=>{a++,i=0});let o=e=>u(e),s=g({data:null,error:null,isPending:!0,isRefetching:!1,refetch:o});D(s,Z);let c=async(t,n)=>{let r=s.value;if(s.set({...r,isPending:r.data===null,isRefetching:!0,error:null,refetch:o}),t.aborted)return`aborted`;try{let r=await e(`/get-session`,{method:`GET`,query:n?.query,signal:t});if(t.aborted)return`aborted`;let{data:i,error:a}=Y(r),c=`fresh`;if(i?.needsRefresh)try{let n=await e(`/get-session`,{method:`POST`,signal:t});if(t.aborted)return`aborted`;({data:i,error:a}=Y(n))}catch{if(t.aborted)return`aborted`;c=`stale`}if(a){let e=s.value,t=a?.status===401;return s.set({data:t?null:e.data,error:a,isPending:!1,isRefetching:!1,refetch:o}),`failed`}let l=X(i),u=s.value,d=u.data!=null&&l!=null&&E(u.data,l)?u.data:l;return s.set({data:d,error:null,isPending:!1,isRefetching:!1,refetch:o}),c}catch(e){if(t.aborted)return`aborted`;let n=s.value;return s.set({data:n.data,error:e,isPending:!1,isRefetching:!1,refetch:o}),`failed`}},l=()=>{let e=s.value.data?.session?.expiresAt,t=e instanceof Date?e.getTime():1/0;return Math.min(Date.now()+q,t)},u=e=>{i=0,r?.cancel();let t=new AbortController,n={cancel:()=>t.abort(),promise:Promise.resolve().then(()=>t.signal.aborted?`aborted`:c(t.signal,e)),revision:a};r=n;let o=e=>{r===n&&(r=void 0,e===`fresh`&&n.revision===a&&(i=l()))};return n.promise.then(o,()=>o(`failed`)),n.promise.then(()=>void 0)},d=()=>r?.revision===a?r.promise.then(()=>void 0):Date.now()<i?Promise.resolve():u(),f=()=>{};return w(s,()=>{let e;K()||(e=setTimeout(()=>{d()},0));let r=W({fetchSession:u,shouldPollSession:()=>s.value.data!=null,sessionSignal:n,options:t});return r.init(),f=r.broadcastSessionUpdate,()=>{e&&clearTimeout(e),r.cleanup()}}),{session:s,$sessionSignal:n,broadcastSessionUpdate:e=>f(e)}}var $=e=>{if(typeof process>`u`)return;let t=e??`/api/auth`;if({}.NEXT_PUBLIC_AUTH_URL)return{}.NEXT_PUBLIC_AUTH_URL;if(typeof window>`u`){if({}.NEXTAUTH_URL)try{return{}.NEXTAUTH_URL}catch{}if({}.VERCEL_URL)try{let e={}.VERCEL_URL.startsWith(`http`)?``:`https://`;return`${new URL(`${e}${{}.VERCEL_URL}`).origin}${t}`}catch{}}},ee=(e,i)=>{let a=`credentials`in Request.prototype,o=r(e?.baseURL,e?.basePath,void 0,i)??$(e?.basePath)??`/api/auth`,s=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>e!==void 0)||[],c={id:`lifecycle-hooks`,name:`lifecycle-hooks`,hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:l,onError:u,onRequest:d,onResponse:f,...p}=e?.fetchOptions||{},m=t({baseURL:o,...a?{credentials:`include`}:{},method:`GET`,jsonParser(e){return e?V(e,{strict:!1}):null},customFetchImpl:fetch,...p,plugins:[c,...p.plugins||[],...e?.disableDefaultFetchPlugins?[]:[G],...s]}),{$sessionSignal:h,session:g,broadcastSessionUpdate:_}=Q(m,e),v=!1,y=e=>{v||e===null||(v=!0,J(g,e))},b=e?.plugins||[],x={},S={$sessionSignal:h,session:g},C={"/sign-out":`POST`,"/revoke-sessions":`POST`,"/revoke-other-sessions":`POST`,"/delete-user":`POST`},w=[{signal:`$sessionSignal`,matcher(e){return e===`/sign-out`||e===`/update-user`||e===`/update-session`||e===`/sign-up/email`||e===`/sign-in/email`||e===`/delete-user`||e===`/verify-email`||e===`/revoke-sessions`||e===`/revoke-session`||e===`/revoke-other-sessions`||e===`/change-email`||e===`/change-password`},callback(e){e===`/sign-out`?_(`signout`):(e===`/update-user`||e===`/update-session`)&&_(`updateUser`)}}];for(let e of b)e.getAtoms&&Object.assign(S,e.getAtoms?.(m)),e.pathMethods&&Object.assign(C,e.pathMethods),e.atomListeners&&w.push(...e.atomListeners);let T={notify:e=>{S[e].set(!S[e].get())},listen:(e,t)=>{S[e].subscribe(t)},atoms:S};for(let t of b)t.getActions&&(x=n(t.getActions?.(m,T,e)??{},x));return{get baseURL(){return o},pluginsActions:x,pluginsAtoms:S,pluginPathMethods:C,atomListeners:w,hydrateSession:y,$fetch:m,$store:T}};function te(e){return typeof e==`object`&&!!e&&`get`in e&&typeof e.get==`function`&&`lc`in e&&typeof e.lc==`number`}function ne(e,t,n){let r=t[e],{fetchOptions:i,query:a,...o}=n||{};return r||(i?.method?i.method:o&&Object.keys(o).length>0?`POST`:`GET`)}function re(e,t,n,r,a){function o(s=[]){return new Proxy(function(){},{get(t,n){if(typeof n!=`string`||n===`then`||n===`catch`||n===`finally`)return;let r=[...s,n],i=e;for(let e of r)if(i&&typeof i==`object`&&e in i)i=i[e];else{i=void 0;break}return typeof i==`function`||te(i)?i:o(r)},apply:async(e,o,c)=>{let l=`/`+s.map(i).join(`/`),u=c[0]||{},d=c[1]||{},{query:f,fetchOptions:p,...m}=u,h={...d,...p},g=ne(l,n,u);return await t(l,{...h,body:g===`GET`?void 0:{...m,...h?.body||{}},query:f||h?.query,method:g,async onSuccess(e){if(await h?.onSuccess?.(e),!a||h.disableSignal)return;let t=a.filter(e=>e.matcher(l));if(!t.length)return;let n=new Set;for(let e of t){let t=r[e.signal];if(!t)return;if(n.has(e.signal))continue;n.add(e.signal);let i=t.get();setTimeout(()=>{t.set(!i)},10),e.callback?.(l)}}})}})}return o()}function ie(t){let{pluginPathMethods:n,pluginsActions:r,pluginsAtoms:i,hydrateSession:a,$fetch:o,atomListeners:s,$store:c}=ee(t),l={};for(let[t,n]of Object.entries(i))l[`use${e(t)}`]=n;return re({...r,...l,hydrateSession:a,$fetch:o,$store:c},o,n,i,s)}var ae=ie();export{ae as t};
@@ -1 +0,0 @@
1
- import{l as e,u as t}from"./session-B-accyM3.js";import{t as n}from"./default-query-compiler-CUdqIu1h.js";import{n as r,t as i}from"./kysely-migration-tables-DFfmKhq--U5ujlMwE.js";var a=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!0}async acquireMigrationLock(){}async releaseMigrationLock(){}get supportsOutput(){return!0}},o=class{#e;#t=new c;#n;#r;constructor(e){this.#e={...e}}async init(){this.#n=this.#e.database,this.#r=new s(this.#n),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#r)}async acquireConnection(){return await this.#t.lock(),this.#r}async beginTransaction(t){await t.executeQuery(e.raw(`begin`))}async commitTransaction(t){await t.executeQuery(e.raw(`commit`))}async rollbackTransaction(t){await t.executeQuery(e.raw(`rollback`))}async releaseConnection(){this.#t.unlock()}async destroy(){this.#n?.close()}},s=class{#e;constructor(e){this.#e=e}executeQuery(e){let{sql:t,parameters:n}=e,r=this.#e.prepare(t),i=n;if(r.columnNames.length>0)return Promise.resolve({rows:r.all(...i)});let{changes:a,lastInsertRowid:o}=r.run(...i);return Promise.resolve({rows:[],numAffectedRows:BigInt(a),insertId:typeof o==`bigint`?o:BigInt(o)})}async*streamQuery(){throw Error(`Streaming query is not supported by SQLite driver.`)}},c=class{#e;#t;async lock(){for(;this.#e!==void 0;)await this.#e;this.#e=new Promise(e=>{this.#t=e})}unlock(){let e=this.#t;this.#e=void 0,this.#t=void 0,e?.()}},l=class{#e;constructor(e){this.#e=e}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom(`sqlite_schema`).where(`type`,`=`,`table`).where(`name`,`not like`,`sqlite_%`).select(`name`).$castTo();e.withInternalKyselyTables||(t=t.where(`name`,`!=`,r).where(`name`,`!=`,i));let n=await t.execute();return Promise.all(n.map(({name:e})=>this.#t(e)))}async getMetadata(e){return{tables:await this.getTables(e)}}async#t(e){let n=this.#e,r=(await n.selectFrom(`sqlite_master`).where(`name`,`=`,e).select(`sql`).$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find(e=>e.toLowerCase().includes(`autoincrement`))?.split(/\s+/)?.[0]?.replace(/["`]/g,``);return{name:e,columns:(await n.selectFrom(t`pragma_table_info(${e})`.as(`table_info`)).select([`name`,`type`,`notnull`,`dflt_value`]).execute()).map(e=>({name:e.name,dataType:e.type,isNullable:!e.notnull,isAutoIncrementing:e.name===r,hasDefaultValue:e.dflt_value!=null})),isView:!1}}},u=class extends n{getCurrentParameterPlaceholder(){return`?`}getLeftIdentifierWrapper(){return`"`}getRightIdentifierWrapper(){return`"`}getAutoIncrement(){return`autoincrement`}},d=class{#e;constructor(e){this.#e={...e}}createDriver(){return new o(this.#e)}createQueryCompiler(){return new u}createAdapter(){return new a}createIntrospector(e){return new l(e)}};export{d as BunSqliteDialect};
@@ -1 +0,0 @@
1
- import{D as e,S as t,_ as n}from"./hooks-Cz6AT21d.js";var r=(r,i={})=>{let a;return Object.keys(i).length>0&&console.warn(`createRoot options are not supported yet`),{render(i){if(a===null)throw Error(`Cannot update an unmounted root`);a?a(i):e(t({tag:()=>{let[e,t]=n(i);return a=t,e},props:{}}),r)},unmount(){a?.(null),a=null}}},i=(e,t,n={})=>{let i=r(e,n);return i.render(t),i},a={createRoot:r,hydrateRoot:i};export{r as createRoot,a as default,i as hydrateRoot};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sign-in-BelI3gSs.js","assets/hooks-Cz6AT21d.js","assets/honoto-client.js","assets/honoto-client-BSvNAnxN.css","assets/jsx-dev-runtime-92VDsVyo.js","assets/session-B-accyM3.js","assets/components-DX9r6vHn.js","assets/factory-Bgf4EtLx.js","assets/default-query-compiler-CUdqIu1h.js","assets/auth-client-D2Wtuobe.js","assets/sign-up-pR94lfdu.js","assets/saved-jIi74ncJ.js","assets/BookmarkButton-py0xGxgl.js","assets/dom-DCd3wYW7.js","assets/pages-CUQx6Eus.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./honoto-client.js";var t={"/sign-in":()=>e(()=>import(`./sign-in-BelI3gSs.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),"/sign-up":()=>e(()=>import(`./sign-up-pR94lfdu.js`),__vite__mapDeps([10,1,2,3,4,5,6,7,8,9])),"/saved":()=>e(()=>import(`./saved-jIi74ncJ.js`),__vite__mapDeps([11,1,2,3,12,13,6,4,5,7,8,9])),"/":()=>e(()=>import(`./pages-CUQx6Eus.js`),__vite__mapDeps([14,1,2,3,12,13,6,4,5,7,8]))};export{t as clientPages};
@@ -1 +0,0 @@
1
- import{C as e,F as t,H as n,I as r,J as i,L as a,Q as o,R as s,T as c,U as l,W as u,_ as d,a as f,m as p,o as m,z as h}from"./hooks-Cz6AT21d.js";var g=l({pending:!1,data:null,method:null,action:null}),_=new Set,v=e=>{_.add(e),e.finally(()=>_.delete(e))},y=()=>n(g),b=(e,t)=>{let[n,r]=d(e);return _.size>0?Promise.all(_).finally(()=>{r(e)}):r(e),[n,m(e=>{r(n=>t(n,e))},[])]},x=(e,t,n)=>{let[r,a]=d(t),o=async t=>{a(await e(r,t))};return o[i]=n,[r,o]},S=o({button:()=>L,clearCache:()=>C,composeRef:()=>w,form:()=>P,input:()=>I,link:()=>j,meta:()=>M,script:()=>k,style:()=>A,title:()=>O}),C=()=>{T=Object.create(null),E=Object.create(null)},w=(e,t)=>p(()=>n=>{let r;e&&(typeof e==`function`?r=e(n)||(()=>{e(null)}):e&&`current`in e&&(e.current=n,r=()=>{e.current=null}));let i=t(n);return()=>{i?.(),r?.()}},[e]),T=Object.create(null),E=Object.create(null),D=(n,i,a,o,s)=>{if(i?.itemProp)return{tag:n,props:i,type:n,ref:i.ref};let c=document.head,{onLoad:l,onError:u,precedence:d,blocking:p,...g}=i,_=null,v=!1,y=r[n],b=h(n,o),x=e=>e.getAttribute(`rel`)===`stylesheet`&&e.getAttribute(`data-precedence`)!==null,S;if(b){let e=c.querySelectorAll(n);LOOP:for(let t of e)if(!(n===`link`&&!x(t))){for(let e of y)if(t.getAttribute(e)===i[e]){_=t;break LOOP}}if(!_){let e=y.reduce((e,t)=>i[t]===void 0?e:`${e}-${t}-${i[t]}`,n);v=!E[e],_=E[e]||=(()=>{let e=document.createElement(n);for(let t of y)i[t]!==void 0&&e.setAttribute(t,i[t]);return i.rel&&e.setAttribute(`rel`,i.rel),e})()}}else S=c.querySelectorAll(n);d=o?d??``:void 0,o&&(g[t]=d);let C=m(e=>{if(b){if(n===`link`&&d!==void 0){let r=!1;for(let i of c.querySelectorAll(n)){let n=i.getAttribute(t);if(n===null){c.insertBefore(e,i);return}if(r&&n!==d){c.insertBefore(e,i);return}n===d&&(r=!0)}c.appendChild(e);return}let r=!1;for(let t of c.querySelectorAll(n)){if(r&&t.getAttribute(`data-precedence`)!==d){c.insertBefore(e,t);return}t.getAttribute(`data-precedence`)===d&&(r=!0)}c.appendChild(e)}else if(n===`link`)c.contains(e)||c.appendChild(e);else if(S){let t=!1;for(let n of S)if(n===e){t=!0;break}t||c.insertBefore(e,c.contains(S[0])?S[0]:c.querySelector(n)),S=void 0}},[b,d,n]),D=w(i.ref,e=>{let t=y[0];if(a===2&&(e.innerHTML=``),(v||S)&&C(e),!u&&!l||!t)return;let n=T[e.getAttribute(t)]||=new Promise((t,n)=>{e.addEventListener(`load`,t),e.addEventListener(`error`,n)});l&&(n=n.then(l)),u&&(n=n.catch(u)),n.catch(()=>{})});if(s&&p===`render`){let e=r[n][0];if(e&&i[e]){let t=i[e],n=T[t]||=new Promise((e,t)=>{C(_),_.addEventListener(`load`,e),_.addEventListener(`error`,t)});f(n)}}let O={tag:n,type:n,props:{...g,ref:D},ref:D};return O.p=a,_&&(O.e=_),e(O,c)},O=e=>{let t=c();return(t&&n(t))?.endsWith(`svg`)?{tag:`title`,props:e,type:`title`,ref:e.ref}:D(`title`,e,void 0,!1,!1)},k=e=>!e||[`src`,`async`].some(t=>!e[t])?{tag:`script`,props:e,type:`script`,ref:e.ref}:D(`script`,e,1,!1,!0),A=e=>!e||![`href`,`precedence`].every(t=>t in e)?{tag:`style`,props:e,type:`style`,ref:e.ref}:(e[`data-href`]=e.href,delete e.href,D(`style`,e,2,!0,!0)),j=e=>!e||[`onLoad`,`onError`].some(t=>t in e)||e.rel===`stylesheet`&&(!(`precedence`in e)||`disabled`in e)?{tag:`link`,props:e,type:`link`,ref:e.ref}:D(`link`,e,1,s(e),!0),M=e=>D(`meta`,e,void 0,!1,!1),N=Symbol(),P=e=>{let{action:t,...n}=e;typeof t!=`function`&&(n.action=t);let[r,i]=d([null,!1]),a=m(async e=>{let n=e.isTrusted?t:e.detail[N];if(typeof n!=`function`)return;e.preventDefault();let r=new FormData(e.target);i([r,!0]);let a=n(r);a instanceof Promise&&(v(a),await a),i([null,!0])},[]),o=w(e.ref,e=>(e.addEventListener(`submit`,a),()=>{e.removeEventListener(`submit`,a)})),[s,c]=r;return r[1]=!1,{tag:g,props:{value:{pending:s!==null,data:s,method:s?`post`:null,action:s?t:null},children:{tag:`form`,props:{...n,ref:o},type:`form`,ref:o}},f:c}},F=(e,{formAction:t,...n})=>{if(typeof t==`function`){let e=m(e=>{e.preventDefault(),e.currentTarget.form.dispatchEvent(new CustomEvent(`submit`,{detail:{[N]:t}}))},[]);n.ref=w(n.ref,t=>(t.addEventListener(`click`,e),()=>{t.removeEventListener(`click`,e)}))}return{tag:e,props:n,type:e,ref:n.ref}},I=e=>F(`input`,e),L=e=>F(`button`,e);Object.assign(a,{title:O,script:k,style:A,link:j,meta:M,form:P,input:I,button:L});var R=(e,t,n)=>(typeof e==`string`&&S[e]&&(e=S[e]),{tag:e,type:e,props:t,key:n,ref:t.ref}),z=e=>R(``,e,void 0),B=(({children:e,fallback:t,fallbackRender:n,onError:r})=>{let i=z({children:e});return i[u]=e=>{if(e instanceof Promise)throw e;return r?.(e),n?.(e)||t},i}),V=(({children:e,fallback:t})=>{let n=z({children:e});return n[u]=(e,n)=>{if(!(e instanceof Promise))throw e;return e.finally(n),t},n});export{x as a,R as i,V as n,y as o,z as r,b as s,B as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/BookmarkButton-py0xGxgl.js","assets/hooks-Cz6AT21d.js","assets/dom-DCd3wYW7.js","assets/components-DX9r6vHn.js","assets/jsx-dev-runtime-92VDsVyo.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./honoto-client.js";var t={"/src/components/BookmarkButton.tsx":()=>e(()=>import(`./BookmarkButton-py0xGxgl.js`).then(e=>e.n),__vite__mapDeps([0,1,2,3,4]))};export{t as components};
@@ -1 +0,0 @@
1
- import{c as e,s as t}from"./session-B-accyM3.js";import{n,t as r}from"./kysely-migration-tables-DFfmKhq--U5ujlMwE.js";var i=class extends t{},a=class{#e;#t;constructor(e){this.#e={...e}}async init(){this.#t=new o(this.#e.database),this.#e.onCreateConnection&&await this.#e.onCreateConnection(this.#t)}async acquireConnection(){return this.#t}async beginTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async commitTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async rollbackTransaction(){throw Error(`D1 does not support interactive transactions. Use the D1 batch() API instead.`)}async releaseConnection(){}async destroy(){}},o=class{#e;constructor(e){this.#e=e}async executeQuery(e){let t=await this.#e.prepare(e.sql).bind(...e.parameters).all(),n=t.meta.changes==null?void 0:BigInt(t.meta.changes);return{insertId:t.meta.last_row_id===void 0||t.meta.last_row_id===null?void 0:BigInt(t.meta.last_row_id),rows:t?.results||[],numAffectedRows:n}}async*streamQuery(){throw Error(`D1 does not support streaming queries.`)}},s=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async getSchemas(){return[]}async getTables(e={withInternalKyselyTables:!1}){let t=this.#e.selectFrom(`sqlite_master`).where(`type`,`in`,[`table`,`view`]).where(`name`,`not like`,`sqlite_%`).where(`name`,`not like`,`_cf_%`).select([`name`,`type`,`sql`]).$castTo();e.withInternalKyselyTables||(t=t.where(`name`,`!=`,n).where(`name`,`!=`,r));let i=await t.execute();if(i.length===0)return[];let a=i.map(e=>this.#t.prepare(`SELECT * FROM pragma_table_info(?)`).bind(e.name)),o=await this.#t.batch(a);return i.map((e,t)=>{let n=o[t]?.results??[],r=e.sql?.split(/[(),]/)?.find(e=>e.toLowerCase().includes(`autoincrement`))?.split(/\s+/)?.filter(Boolean)?.[0]?.replace(/["`]/g,``);if(!r){let e=n.filter(e=>e.pk>0),t=e.length===1?e[0]:void 0;t&&t.type.toLowerCase()===`integer`&&(r=t.name)}return{name:e.name,isView:e.type===`view`,columns:n.map(e=>({name:e.name,dataType:e.type,isNullable:!e.notnull,isAutoIncrementing:e.name===r,hasDefaultValue:e.dflt_value!=null}))}})}async getMetadata(e){return{tables:await this.getTables(e)}}},c=class extends e{},l=class{#e;constructor(e){this.#e={...e}}createDriver(){return new a(this.#e)}createQueryCompiler(){return new c}createAdapter(){return new i}createIntrospector(e){return new s(e,this.#e.database)}};export{l as D1SqliteDialect};
@@ -1 +0,0 @@
1
- function e(e){return e===void 0||e===void 0}function t(e){return typeof e==`string`}function n(e){return typeof e==`number`}function r(e){return typeof e==`boolean`}function i(e){return e===null}function a(e){return e instanceof Date}function o(e){return typeof e==`bigint`}function s(e){return typeof Buffer<`u`&&Buffer.isBuffer(e)}function c(e){return typeof e==`function`}function l(e){return typeof e==`object`&&!!e}function u(e){return Object.freeze(e)}function d(e){return f(e)?e:[e]}function f(e){return Array.isArray(e)}function p(e){return e}function m(e){return e instanceof Error?e.message:String(e)}var h=u({is(e){return e.kind===`IdentifierNode`},create(e){return u({kind:`IdentifierNode`,name:e})}}),g=[`preserve rows`,`delete rows`,`drop`],_=u({is(e){return e.kind===`CreateTableNode`},create(e){return u({kind:`CreateTableNode`,table:e,columns:u([])})},cloneWithColumn(e,t){return u({...e,columns:u([...e.columns,t])})},cloneWithConstraint(e,t){return u({...e,constraints:e.constraints?u([...e.constraints,t]):u([t])})},cloneWithIndex(e,t){return u({...e,indexes:e.indexes?u([...e.indexes,t]):u([t])})},cloneWithFrontModifier(e,t){return u({...e,frontModifiers:e.frontModifiers?u([...e.frontModifiers,t]):u([t])})},cloneWithEndModifier(e,t){return u({...e,endModifiers:e.endModifiers?u([...e.endModifiers,t]):u([t])})},cloneWith(e,t){return u({...e,...t})}}),v=u({is(e){return e.kind===`SchemableIdentifierNode`},create(e){return u({kind:`SchemableIdentifierNode`,identifier:h.create(e)})},createWithSchema(e,t){return u({kind:`SchemableIdentifierNode`,schema:h.create(e),identifier:h.create(t)})}}),y=u({"=":!0,"==":!0,"!=":!0,"<>":!0,">":!0,">=":!0,"<":!0,"<=":!0,in:!0,"not in":!0,is:!0,"is not":!0,like:!0,"not like":!0,match:!0,ilike:!0,"not ilike":!0,"@>":!0,"<@":!0,"^@":!0,"&&":!0,"?":!0,"?&":!0,"?|":!0,"!<":!0,"!>":!0,"<=>":!0,"!~":!0,"~":!0,"~*":!0,"!~*":!0,"@@":!0,"@@@":!0,"!!":!0,"<->":!0,regexp:!0,"is distinct from":!0,"is not distinct from":!0});Object.keys(y);var b=u({"+":!0,"-":!0,"*":!0,"/":!0,"%":!0,"^":!0,"&":!0,"|":!0,"#":!0,"<<":!0,">>":!0});Object.keys(b);var x=u({"->":!0,"->>":!0}),S=Object.keys(x),C=u({...y,...b,"||":!0}),w=Object.keys(C),T=u({exists:!0,"not exists":!0});Object.keys(T);var E=u({...T,"-":!0,not:!0}),D=Object.keys(E);[...w,...S,...D];var O=u({is(e){return e.kind===`OperatorNode`},create(e){return u({kind:`OperatorNode`,operator:e})}});function k(e){return t(e)&&C[e]}function A(e){return t(e)&&x[e]}function j(e){return t(e)&&E[e]}var M=u({is(e){return e.kind===`RawNode`},create(e,t){return u({kind:`RawNode`,sqlFragments:u(e),parameters:u(t)})},createWithSql(e){return M.create([e],[])},createWithChild(e){return M.create([``,``],[e])},createWithChildren(e){return M.create(Array(e.length+1).fill(``),e)}}),N=u({is(e){return e.kind===`ParensNode`},create(e){return u({kind:`ParensNode`,node:e})}}),P=u({is(e){return e.kind===`InsertQueryNode`},create(e,t,n){return u({kind:`InsertQueryNode`,into:e,...t&&{with:t},replace:n})},createWithoutInto(){return u({kind:`InsertQueryNode`})},cloneWith(e,t){return u({...e,...t})}}),F=u({is(e){return e.kind===`WhenNode`},create(e){return u({kind:`WhenNode`,condition:e})},cloneWithResult(e,t){return u({...e,result:t})}}),I=u({is(e){return e.kind===`SetOperationNode`},create(e,t,n){return u({kind:`SetOperationNode`,operator:e,expression:t,all:n})}}),L=u({is(e){return e.kind===`CreateViewNode`},create(e){return u({kind:`CreateViewNode`,name:v.create(e)})},cloneWith(e,t){return u({...e,...t})}}),R=class{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=u({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this),AlterTypeNode:this.visitAlterType.bind(this),AddValueNode:this.visitAddValue.bind(this),RenameValueNode:this.visitRenameValue.bind(this)});visitNode=e=>{this.nodeStack.push(e),this.#e[e.kind](e),this.nodeStack.pop()}},z=/'/g,B=/['"]/g,V=class extends R{#e=``;#t=[];get numParameters(){return this.#t.length}compileQuery(e,t){return this.#e=``,this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(e),u({query:e,queryId:t,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(e){let t=this.parentNode!==void 0&&!N.is(this.parentNode)&&!P.is(this.parentNode)&&!_.is(this.parentNode)&&!L.is(this.parentNode)&&!I.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(` `)),t&&this.append(`(`),e.with&&(this.visitNode(e.with),this.append(` `)),this.append(`select`),e.distinctOn&&(this.append(` `),this.compileDistinctOn(e.distinctOn)),e.frontModifiers?.length&&(this.append(` `),this.compileList(e.frontModifiers,` `)),e.top&&(this.append(` `),this.visitNode(e.top)),e.selections&&(this.append(` `),this.compileList(e.selections)),e.from&&(this.append(` `),this.visitNode(e.from)),e.joins&&(this.append(` `),this.compileList(e.joins,` `)),e.where&&(this.append(` `),this.visitNode(e.where)),e.groupBy&&(this.append(` `),this.visitNode(e.groupBy)),e.having&&(this.append(` `),this.visitNode(e.having)),e.setOperations&&(this.append(` `),this.compileList(e.setOperations,` `)),e.orderBy&&(this.append(` `),this.visitNode(e.orderBy)),e.limit&&(this.append(` `),this.visitNode(e.limit)),e.offset&&(this.append(` `),this.visitNode(e.offset)),e.fetch&&(this.append(` `),this.visitNode(e.fetch)),e.endModifiers?.length&&(this.append(` `),this.compileList(this.sortSelectModifiers(e.endModifiers),` `)),t&&this.append(`)`)}visitFrom(e){this.append(`from `),this.compileList(e.froms)}visitSelection(e){this.visitNode(e.selection)}visitColumn(e){this.visitNode(e.column)}compileDistinctOn(e){this.append(`distinct on (`),this.compileList(e),this.append(`)`)}compileList(e,t=`, `){let n=e.length-1;for(let r=0;r<=n;r++)this.visitNode(e[r]),r<n&&this.append(t)}visitWhere(e){this.append(`where `),this.visitNode(e.where)}visitHaving(e){this.append(`having `),this.visitNode(e.having)}visitInsertQuery(e){let t=this.parentNode!==void 0&&!N.is(this.parentNode)&&!M.is(this.parentNode)&&!F.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(` `)),t&&this.append(`(`),e.with&&(this.visitNode(e.with),this.append(` `)),this.append(e.replace?`replace`:`insert`),e.orAction&&(this.append(` `),this.visitNode(e.orAction)),e.top&&(this.append(` `),this.visitNode(e.top)),e.into&&(this.append(` into `),this.visitNode(e.into)),e.columns&&(this.append(` (`),this.compileList(e.columns),this.append(`)`)),e.output&&(this.append(` `),this.visitNode(e.output)),e.values&&(this.append(` `),this.visitNode(e.values)),e.defaultValues&&(this.append(` `),this.append(`default values`)),e.onConflict&&(this.append(` `),this.visitNode(e.onConflict)),e.onDuplicateKey&&(this.append(` `),this.visitNode(e.onDuplicateKey)),e.returning&&(this.append(` `),this.visitNode(e.returning)),t&&this.append(`)`),e.endModifiers?.length&&(this.append(` `),this.compileList(e.endModifiers,` `))}visitValues(e){this.append(`values `),this.compileList(e.values)}visitDeleteQuery(e){let t=this.parentNode!==void 0&&!N.is(this.parentNode)&&!M.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(` `)),t&&this.append(`(`),e.with&&(this.visitNode(e.with),this.append(` `)),this.append(`delete `),e.top&&(this.visitNode(e.top),this.append(` `)),this.visitNode(e.from),e.output&&(this.append(` `),this.visitNode(e.output)),e.using&&(this.append(` `),this.visitNode(e.using)),e.joins&&(this.append(` `),this.compileList(e.joins,` `)),e.where&&(this.append(` `),this.visitNode(e.where)),e.returning&&(this.append(` `),this.visitNode(e.returning)),e.orderBy&&(this.append(` `),this.visitNode(e.orderBy)),e.limit&&(this.append(` `),this.visitNode(e.limit)),t&&this.append(`)`),e.endModifiers?.length&&(this.append(` `),this.compileList(e.endModifiers,` `))}visitReturning(e){this.append(`returning `),this.compileList(e.selections)}visitAlias(e){this.visitNode(e.node),this.append(` as `),this.visitNode(e.alias)}visitReference(e){e.table&&(this.visitNode(e.table),this.append(`.`)),this.visitNode(e.column)}visitSelectAll(e){this.append(`*`)}visitIdentifier(e){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(e),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(e){if(!t(e.name))throw Error(`a non-string identifier was passed to compileUnwrappedIdentifier.`);this.append(this.sanitizeIdentifier(e.name))}visitAnd(e){this.visitNode(e.left),this.append(` and `),this.visitNode(e.right)}visitOr(e){this.visitNode(e.left),this.append(` or `),this.visitNode(e.right)}visitValue(e){e.immediate?this.appendImmediateValue(e.value):this.appendValue(e.value)}visitValueList(e){this.append(`(`),this.compileList(e.values),this.append(`)`)}visitTuple(e){this.append(`(`),this.compileList(e.values),this.append(`)`)}visitPrimitiveValueList(e){this.append(`(`);let{values:t}=e;for(let e=0;e<t.length;++e)this.appendValue(t[e]),e!==t.length-1&&this.append(`, `);this.append(`)`)}visitParens(e){this.append(`(`),this.visitNode(e.node),this.append(`)`)}visitJoin(e){this.append(W[e.joinType]),this.append(` `),this.visitNode(e.table),e.on&&(this.append(` `),this.visitNode(e.on))}visitOn(e){this.append(`on `),this.visitNode(e.on)}visitRaw(e){let{sqlFragments:t,parameters:n}=e;for(let e=0;e<t.length;++e)this.append(t[e]),n.length>e&&this.visitNode(n[e])}visitOperator(e){this.append(e.operator)}visitTable(e){this.visitNode(e.table)}visitSchemableIdentifier(e){e.schema&&(this.visitNode(e.schema),this.append(`.`)),this.visitNode(e.identifier)}visitCreateTable(e){this.append(`create `),e.frontModifiers?.length&&(this.compileList(e.frontModifiers,` `),this.append(` `)),e.temporary&&this.append(`temporary `),this.append(`table `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.table),e.selectQuery||(this.append(` (`),this.compileList([...e.columns,...e.constraints??[],...e.indexes??[]]),this.append(`)`)),e.onCommit&&(this.append(` on commit `),this.append(e.onCommit)),e.endModifiers?.length&&(this.append(` `),this.compileList(e.endModifiers,` `)),e.selectQuery&&(this.append(` as `),this.visitNode(e.selectQuery))}visitColumnDefinition(e){e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.column),this.append(` `),this.visitNode(e.dataType),e.unsigned&&this.append(` unsigned`),e.frontModifiers&&e.frontModifiers.length>0&&(this.append(` `),this.compileList(e.frontModifiers,` `)),e.generated&&(this.append(` `),this.visitNode(e.generated)),e.identity&&this.append(` identity`),e.defaultTo&&(this.append(` `),this.visitNode(e.defaultTo)),e.notNull&&this.append(` not null`),e.unique&&this.append(` unique`),e.nullsNotDistinct&&this.append(` nulls not distinct`),e.primaryKey&&this.append(` primary key`),e.autoIncrement&&(this.append(` `),this.append(this.getAutoIncrement())),e.references&&(this.append(` `),this.visitNode(e.references)),e.check&&(this.append(` `),this.visitNode(e.check)),e.endModifiers&&e.endModifiers.length>0&&(this.append(` `),this.compileList(e.endModifiers,` `))}getAutoIncrement(){return`auto_increment`}visitReferences(e){this.append(`references `),this.visitNode(e.table),this.append(` (`),this.compileList(e.columns),this.append(`)`),e.onDelete&&(this.append(` on delete `),this.append(e.onDelete)),e.onUpdate&&(this.append(` on update `),this.append(e.onUpdate))}visitDropTable(e){this.append(`drop `),e.temporary&&this.append(`temporary `),this.append(`table `),e.ifExists&&this.append(`if exists `),this.visitNode(e.table),e.cascade&&this.append(` cascade`)}visitDataType(e){this.append(e.dataType)}visitOrderBy(e){this.append(`order by `),this.compileList(e.items)}visitOrderByItem(e){this.visitNode(e.orderBy),e.collation&&(this.append(` `),this.visitNode(e.collation)),e.direction&&(this.append(` `),this.visitNode(e.direction)),e.nulls&&(this.append(` nulls `),this.append(e.nulls))}visitGroupBy(e){this.append(`group by `),this.compileList(e.items)}visitGroupByItem(e){this.visitNode(e.groupBy)}visitUpdateQuery(e){let t=this.parentNode!==void 0&&!N.is(this.parentNode)&&!M.is(this.parentNode)&&!F.is(this.parentNode);if(this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(` `)),t&&this.append(`(`),e.with&&(this.visitNode(e.with),this.append(` `)),this.append(`update `),e.top&&(this.visitNode(e.top),this.append(` `)),e.table&&(this.visitNode(e.table),this.append(` `)),this.append(`set `),e.updates&&this.compileList(e.updates),e.output&&(this.append(` `),this.visitNode(e.output)),e.from&&(this.append(` `),this.visitNode(e.from)),e.joins){if(!e.from)throw Error(`Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins`);this.append(` `),this.compileList(e.joins,` `)}e.where&&(this.append(` `),this.visitNode(e.where)),e.returning&&(this.append(` `),this.visitNode(e.returning)),e.orderBy&&(this.append(` `),this.visitNode(e.orderBy)),e.limit&&(this.append(` `),this.visitNode(e.limit)),t&&this.append(`)`),e.endModifiers?.length&&(this.append(` `),this.compileList(e.endModifiers,` `))}visitColumnUpdate(e){this.visitNode(e.column),this.append(` = `),this.visitNode(e.value)}visitLimit(e){this.append(`limit `),this.visitNode(e.limit)}visitOffset(e){this.append(`offset `),this.visitNode(e.offset)}visitOnConflict(e){this.append(`on conflict`),e.columns?(this.append(` (`),this.compileList(e.columns),this.append(`)`)):e.constraint?(this.append(` on constraint `),this.visitNode(e.constraint)):e.indexExpression&&(this.append(` (`),this.visitNode(e.indexExpression),this.append(`)`)),e.indexWhere&&(this.append(` `),this.visitNode(e.indexWhere)),e.doNothing===!0?this.append(` do nothing`):e.updates&&(this.append(` do update set `),this.compileList(e.updates),e.updateWhere&&(this.append(` `),this.visitNode(e.updateWhere)))}visitOnDuplicateKey(e){this.append(`on duplicate key update `),this.compileList(e.updates)}visitCreateIndex(e){this.append(`create `),e.unique&&this.append(`unique `),this.append(`index `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.name),e.table&&(this.append(` on `),this.visitNode(e.table)),e.using&&(this.append(` using `),this.visitNode(e.using)),e.columns&&(this.append(` (`),this.compileList(e.columns),this.append(`)`)),e.nullsNotDistinct&&this.append(` nulls not distinct`),e.where&&(this.append(` `),this.visitNode(e.where))}visitDropIndex(e){this.append(`drop index `),e.ifExists&&this.append(`if exists `),this.visitNode(e.name),e.table&&(this.append(` on `),this.visitNode(e.table)),e.cascade&&this.append(` cascade`)}visitCreateSchema(e){this.append(`create schema `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.schema)}visitDropSchema(e){this.append(`drop schema `),e.ifExists&&this.append(`if exists `),this.visitNode(e.schema),e.cascade&&this.append(` cascade`)}visitPrimaryKeyConstraint(e){e.name&&(this.append(`constraint `),this.visitNode(e.name),this.append(` `)),this.append(`primary key (`),this.compileList(e.columns),this.append(`)`),this.buildDeferrable(e)}buildDeferrable(e){e.deferrable!==void 0&&(e.deferrable?this.append(` deferrable`):this.append(` not deferrable`)),e.initiallyDeferred!==void 0&&(e.initiallyDeferred?this.append(` initially deferred`):this.append(` initially immediate`))}visitUniqueConstraint(e){e.name&&(this.append(`constraint `),this.visitNode(e.name),this.append(` `)),this.append(`unique`),e.nullsNotDistinct&&this.append(` nulls not distinct`),this.append(` (`),this.compileList(e.columns),this.append(`)`),this.buildDeferrable(e)}visitCheckConstraint(e){e.name&&(this.append(`constraint `),this.visitNode(e.name),this.append(` `)),this.append(`check (`),this.visitNode(e.expression),this.append(`)`)}visitForeignKeyConstraint(e){e.name&&(this.append(`constraint `),this.visitNode(e.name),this.append(` `)),this.append(`foreign key (`),this.compileList(e.columns),this.append(`) `),this.visitNode(e.references),e.onDelete&&(this.append(` on delete `),this.append(e.onDelete)),e.onUpdate&&(this.append(` on update `),this.append(e.onUpdate)),this.buildDeferrable(e)}visitList(e){this.compileList(e.items)}visitWith(e){this.append(`with `),e.recursive&&this.append(`recursive `),this.compileList(e.expressions)}visitCommonTableExpression(e){this.visitNode(e.name),this.append(` as `),r(e.materialized)&&(e.materialized||this.append(`not `),this.append(`materialized `)),this.visitNode(e.expression)}visitCommonTableExpressionName(e){this.visitNode(e.table),e.columns&&(this.append(`(`),this.compileList(e.columns),this.append(`)`))}visitAlterTable(e){this.append(`alter table `),this.visitNode(e.table),this.append(` `),e.renameTo&&(this.append(`rename to `),this.visitNode(e.renameTo)),e.setSchema&&(this.append(`set schema `),this.visitNode(e.setSchema)),e.addConstraint&&this.visitNode(e.addConstraint),e.dropConstraint&&this.visitNode(e.dropConstraint),e.renameConstraint&&this.visitNode(e.renameConstraint),e.columnAlterations&&this.compileColumnAlterations(e.columnAlterations),e.addIndex&&this.visitNode(e.addIndex),e.dropIndex&&this.visitNode(e.dropIndex)}visitAddColumn(e){this.append(`add column `),this.visitNode(e.column)}visitRenameColumn(e){this.append(`rename column `),this.visitNode(e.column),this.append(` to `),this.visitNode(e.renameTo)}visitDropColumn(e){this.append(`drop column `),e.ifExists&&this.append(`if exists `),this.visitNode(e.column)}visitAlterColumn(e){this.append(`alter column `),this.visitNode(e.column),this.append(` `),e.dataType&&(this.announcesNewColumnDataType()&&this.append(`type `),this.visitNode(e.dataType),e.dataTypeExpression&&(this.append(`using `),this.visitNode(e.dataTypeExpression))),e.setDefault&&(this.append(`set default `),this.visitNode(e.setDefault)),e.dropDefault&&this.append(`drop default`),e.setNotNull&&this.append(`set not null`),e.dropNotNull&&this.append(`drop not null`)}visitModifyColumn(e){this.append(`modify column `),this.visitNode(e.column)}visitAddConstraint(e){this.append(`add `),this.visitNode(e.constraint)}visitDropConstraint(e){this.append(`drop constraint `),e.ifExists&&this.append(`if exists `),this.visitNode(e.constraintName),e.modifier===`cascade`?this.append(` cascade`):e.modifier===`restrict`&&this.append(` restrict`)}visitRenameConstraint(e){this.append(`rename constraint `),this.visitNode(e.oldName),this.append(` to `),this.visitNode(e.newName)}visitSetOperation(e){this.append(e.operator),this.append(` `),e.all&&this.append(`all `),this.visitNode(e.expression)}visitCreateView(e){this.append(`create `),e.orReplace&&this.append(`or replace `),e.materialized&&this.append(`materialized `),e.temporary&&this.append(`temporary `),this.append(`view `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.name),this.append(` `),e.columns&&(this.append(`(`),this.compileList(e.columns),this.append(`) `)),e.as&&(this.append(`as `),this.visitNode(e.as))}visitRefreshMaterializedView(e){this.append(`refresh materialized view `),e.concurrently&&this.append(`concurrently `),this.visitNode(e.name),e.withNoData?this.append(` with no data`):this.append(` with data`)}visitDropView(e){this.append(`drop `),e.materialized&&this.append(`materialized `),this.append(`view `),e.ifExists&&this.append(`if exists `),this.visitNode(e.name),e.cascade&&this.append(` cascade`)}visitGenerated(e){this.append(`generated `),e.always&&this.append(`always `),e.byDefault&&this.append(`by default `),this.append(`as `),e.identity&&this.append(`identity`),e.expression&&(this.append(`(`),this.visitNode(e.expression),this.append(`)`)),e.stored&&this.append(` stored`)}visitDefaultValue(e){this.append(`default `),this.visitNode(e.defaultValue)}visitSelectModifier(e){e.rawModifier?this.visitNode(e.rawModifier):this.append(H[e.modifier]),e.of&&(this.append(` of `),this.compileList(e.of,`, `))}visitCreateType(e){this.append(`create type `),this.visitNode(e.name),e.enum&&(this.append(` as enum `),this.visitNode(e.enum))}visitDropType(e){this.append(`drop type `),e.ifExists&&this.append(`if exists `),this.visitNode(e.name),e.additionalNames?.length&&(this.append(`, `),this.compileList(e.additionalNames)),e.cascade&&this.append(` cascade`)}visitAlterType(e){this.append(`alter type `),this.visitNode(e.name),this.append(` `),e.addValue?this.visitNode(e.addValue):e.renameTo?(this.append(`rename to `),this.visitNode(e.renameTo)):e.renameValue?this.visitNode(e.renameValue):e.setSchema&&(this.append(`set schema `),this.visitNode(e.setSchema))}visitAddValue(e){this.append(`add value `),e.ifNotExists&&this.append(`if not exists `),this.visitNode(e.value),e.neighborValue&&(this.append(e.isBefore?` before `:` after `),this.visitNode(e.neighborValue))}visitRenameValue(e){this.append(`rename value `),this.visitNode(e.oldValue),this.append(` to `),this.visitNode(e.newValue)}visitExplain(e){this.append(`explain`),(e.options||e.format)&&(this.append(` `),this.append(this.getLeftExplainOptionsWrapper()),e.options&&(this.visitNode(e.options),e.format&&this.append(this.getExplainOptionsDelimiter())),e.format&&(this.append(`format`),this.append(this.getExplainOptionAssignment()),this.append(e.format)),this.append(this.getRightExplainOptionsWrapper()))}visitDefaultInsertValue(e){this.append(`default`)}visitAggregateFunction(e){this.append(e.func),this.append(`(`),e.distinct&&this.append(`distinct `),this.compileList(e.aggregated),e.orderBy&&(this.append(` `),this.visitNode(e.orderBy)),this.append(`)`),e.withinGroup&&(this.append(` within group (`),this.visitNode(e.withinGroup),this.append(`)`)),e.filter&&(this.append(` filter(`),this.visitNode(e.filter),this.append(`)`)),e.over&&(this.append(` `),this.visitNode(e.over))}visitOver(e){this.append(`over(`),e.partitionBy&&(this.visitNode(e.partitionBy),e.orderBy&&this.append(` `)),e.orderBy&&this.visitNode(e.orderBy),this.append(`)`)}visitPartitionBy(e){this.append(`partition by `),this.compileList(e.items)}visitPartitionByItem(e){this.visitNode(e.partitionBy)}visitBinaryOperation(e){this.visitNode(e.leftOperand),this.append(` `),this.visitNode(e.operator),this.append(` `),this.visitNode(e.rightOperand)}visitUnaryOperation(e){this.visitNode(e.operator),this.isMinusOperator(e.operator)||this.append(` `),this.visitNode(e.operand)}isMinusOperator(e){return O.is(e)&&e.operator===`-`}visitUsing(e){this.append(`using `),this.compileList(e.tables)}visitFunction(e){this.append(e.func),this.append(`(`),this.compileList(e.arguments),this.append(`)`)}visitCase(e){this.append(`case`),e.value&&(this.append(` `),this.visitNode(e.value)),e.when&&(this.append(` `),this.compileList(e.when,` `)),e.else&&(this.append(` else `),this.visitNode(e.else)),this.append(` end`),e.isStatement&&this.append(` case`)}visitWhen(e){this.append(`when `),this.visitNode(e.condition),e.result&&(this.append(` then `),this.visitNode(e.result))}visitJSONReference(e){this.visitNode(e.reference),this.visitNode(e.traversal)}visitJSONPath(e){e.inOperator&&this.visitNode(e.inOperator),this.append(`'$`);for(let t of e.pathLegs)this.visitNode(t);this.append(`'`)}visitJSONPathLeg(e){let t=e.type===`ArrayLocation`,n=String(e.value);t?(this.append(`[`),this.append(this.sanitizeStringLiteral(n)),this.append(`]`)):(this.append(`."`),this.append(this.sanitizeJSONPathMemberValue(n)),this.append(`"`))}visitJSONOperatorChain(e){for(let t=0,n=e.values.length;t<n;t++)t===n-1?this.visitNode(e.operator):this.append(`->`),this.visitNode(e.values[t])}visitMergeQuery(e){e.with&&(this.visitNode(e.with),this.append(` `)),this.append(`merge `),e.top&&(this.visitNode(e.top),this.append(` `)),this.append(`into `),this.visitNode(e.into),e.using&&(this.append(` `),this.visitNode(e.using)),e.whens&&(this.append(` `),this.compileList(e.whens,` `)),e.returning&&(this.append(` `),this.visitNode(e.returning)),e.output&&(this.append(` `),this.visitNode(e.output)),e.endModifiers?.length&&(this.append(` `),this.compileList(e.endModifiers,` `))}visitMatched(e){e.not&&this.append(`not `),this.append(`matched`),e.bySource&&this.append(` by source`)}visitAddIndex(e){(!this.parentNode||!_.is(this.parentNode))&&this.append(`add `),e.unique&&this.append(`unique `),this.append(`index `),this.visitNode(e.name),e.columns&&(this.append(` (`),this.compileList(e.columns),this.append(`)`)),e.using&&(this.append(` using `),this.visitNode(e.using))}visitCast(e){this.append(`cast(`),this.visitNode(e.expression),this.append(` as `),this.visitNode(e.dataType),this.append(`)`)}visitFetch(e){this.append(`fetch next `),this.visitNode(e.rowCount),this.append(` rows ${e.modifier}`)}visitOutput(e){this.append(`output `),this.compileList(e.selections)}visitTop(e){this.append(`top(${e.expression})`),e.modifiers&&this.append(` ${e.modifiers}`)}visitOrAction(e){this.append(e.action)}visitCollate(e){this.append(`collate `),this.visitNode(e.collation)}append(e){this.#e+=e}appendValue(e){this.addParameter(e),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return`"`}getRightIdentifierWrapper(){return`"`}getCurrentParameterPlaceholder(){return`$`+this.numParameters}getLeftExplainOptionsWrapper(){return`(`}getExplainOptionAssignment(){return` `}getExplainOptionsDelimiter(){return`, `}getRightExplainOptionsWrapper(){return`)`}sanitizeIdentifier(e){let t=this.getLeftIdentifierWrapper(),n=this.getRightIdentifierWrapper(),r=``;for(let i of e)r+=i,i===t?r+=t:i===n&&(r+=n);return r}sanitizeStringLiteral(e){return e.replace(z,`''`)}sanitizeJSONPathMemberValue(e){return e.replace(B,e=>e===`'`?`''`:`\\"`)}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(t(e))this.appendStringLiteral(e);else if(n(e)||r(e)||o(e))this.append(e.toString());else if(i(e))this.append(`null`);else if(a(e))this.appendImmediateValue(e.toISOString());else throw Error(`invalid immediate value ${e}`)}appendStringLiteral(e){this.append(`'`),this.append(this.sanitizeStringLiteral(e)),this.append(`'`)}sortSelectModifiers(e){return u(e.toSorted((e,t)=>e.modifier&&t.modifier?U[e.modifier]-U[t.modifier]:1))}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},H=u({ForKeyShare:`for key share`,ForNoKeyUpdate:`for no key update`,ForUpdate:`for update`,ForShare:`for share`,NoWait:`nowait`,SkipLocked:`skip locked`,Distinct:`distinct`}),U=u({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),W=u({InnerJoin:`inner join`,LeftJoin:`left join`,RightJoin:`right join`,FullJoin:`full join`,CrossJoin:`cross join`,LateralInnerJoin:`inner join lateral`,LateralLeftJoin:`left join lateral`,LateralCrossJoin:`cross join lateral`,OuterApply:`outer apply`,CrossApply:`cross apply`,Using:`using`});export{p as A,c as C,f as D,l as E,t as O,a as S,n as T,u as _,P as a,r as b,O as c,j as d,v as f,d as g,h,F as i,e as k,k as l,g as m,L as n,N as o,_ as p,I as r,M as s,V as t,A as u,m as v,i as w,s as x,o as y};
@@ -1 +0,0 @@
1
- import{C as e,t}from"./factory-Bgf4EtLx.js";function n(e,t){return typeof e==`string`&&typeof t==`string`?e.toLowerCase()===t.toLowerCase():e===t}function r(e,t){return typeof e==`string`?t.some(t=>typeof t==`string`&&e.toLowerCase()===t.toLowerCase()):t.includes(e)}function i(e,t){return!r(e,t)}function a(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().includes(t.toLowerCase())}function o(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().startsWith(t.toLowerCase())}function s(e,t){return typeof e!=`string`||typeof t!=`string`?!1:e.toLowerCase().endsWith(t.toLowerCase())}function c(e){let t=new Map;for(let n of e)t.set(n.id,n);return t}function l(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let i of r){if(!(i in n)){delete e[i];continue}let r=c(t[i]??[]),a=n[i]??[],o=c(a),s=e[i]??[],l=[],d=new Set;for(let e of s){let t=e.id,n=r.get(t),i=o.get(t);(n===void 0||i!==void 0)&&(i!==void 0&&u(n,i)?l.push(i):l.push(e),d.add(t))}for(let e of a)!r.has(e.id)&&!d.has(e.id)&&l.push(e);e[i]=l}}function u(e,t){return e===void 0||JSON.stringify(e)!==JSON.stringify(t)}var d=(c,u)=>{let d=null,f=c=>t({config:{adapterId:`memory`,adapterName:`Memory Adapter`,usePlural:!1,debugLogs:u?.debugLogs||!1,supportsArrays:!0,customTransformInput(e){return e.options.advanced?.database?.generateId===`serial`&&e.field===`id`&&e.action===`create`?c[e.model].length+1:e.data},transaction:async e=>{let t=structuredClone(c),n=structuredClone(c),r=await e(f(n)(d));return l(c,t,n),r}},adapter:({getFieldName:t,getDefaultFieldName:l,options:u,getModelName:d})=>{let f=(e,n,r)=>n?e.sort((e,i)=>{let a=t({model:r,field:n.field}),o=e[a],s=i[a],c=0;return c=o==null&&s==null?0:o==null?-1:s==null?1:typeof o==`string`&&typeof s==`string`?o.localeCompare(s):o instanceof Date&&s instanceof Date?o.getTime()-s.getTime():typeof o==`number`&&typeof s==`number`?o-s:typeof o==`boolean`&&typeof s==`boolean`?o===s?0:o?1:-1:String(o).localeCompare(String(s)),n.direction===`asc`?c:-c}):e;function p(t,u,f,p){let m=(()=>{let d=c[u];if(!d)throw e.error(`[MemoryAdapter] Model ${u} not found in the DB`,Object.keys(c)),Error(`Model ${u} not found`);let f=(e,t)=>{let{field:c,value:l,operator:u,mode:d=`sensitive`}=t,f=d===`insensitive`&&(typeof l==`string`||Array.isArray(l)&&l.every(e=>typeof e==`string`));switch(u){case`in`:if(!Array.isArray(l))throw Error(`Value must be an array`);return f?r(e[c],l):l.includes(e[c]);case`not_in`:if(!Array.isArray(l))throw Error(`Value must be an array`);return f?i(e[c],l):!l.includes(e[c]);case`contains`:return f?a(e[c],l):e[c]?.includes(l);case`starts_with`:return f?o(e[c],l):e[c].startsWith(l);case`ends_with`:return f?s(e[c],l):e[c].endsWith(l);case`ne`:return f?!n(e[c],l):e[c]!==l;case`gt`:return l!=null&&e[c]>l;case`gte`:return l!=null&&e[c]>=l;case`lt`:return l!=null&&e[c]<l;case`lte`:return l!=null&&e[c]<=l;default:return f?n(e[c],l):l===null?e[c]==null:e[c]===l}},m=d.filter(e=>{if(!t.length||t.length===0)return!0;let n=f(e,t[0]);for(let r of t){let t=f(e,r);r.connector===`OR`?n||=t:n&&=t}return n});return p?.length&&p.length>0&&(m=m.map(e=>Object.fromEntries(Object.entries(e).filter(([e])=>p.includes(l({model:u,field:e})))))),m})();if(!f)return m;let h=new Map,g=new Map;for(let t of m){let n=String(t.id);if(!h.has(n)){let e={...t};for(let[t,r]of Object.entries(f)){let i=d(t);r.relation===`one-to-one`?e[i]=null:(e[i]=[],g.set(`${n}-${t}`,new Set))}h.set(n,e)}let r=h.get(n);for(let[i,a]of Object.entries(f)){let o=d(i),s=c[o];if(!s)throw e.error(`[MemoryAdapter] JoinOption model ${o} not found in the DB`,Object.keys(c)),Error(`JoinOption model ${o} not found`);let l=s.filter(e=>e[a.on.to]===t[a.on.from]);if(a.relation===`one-to-one`)r[o]=l[0]||null;else{let e=g.get(`${n}-${i}`),t=a.limit??100,s=0;for(let n of l){if(s>=t)break;e.has(n.id)||(r[o].push(n),e.add(n.id),s++)}}}}return Array.from(h.values())}return{create:async({model:e,data:t})=>(u.advanced?.database?.generateId===`serial`&&(t.id=c[d(e)].length+1),c[e]||(c[e]=[]),c[e].push(t),t),findOne:async({model:e,where:t,select:n,join:r})=>{let i=p(t,e,r,n);if(r){let e=i;return e.length?e[0]:null}return i[0]||null},findMany:async({model:e,where:t,sortBy:n,limit:r,select:i,offset:a,join:o})=>{let s=p(t||[],e,o,i);if(o){let t=s;if(!t.length)return[];f(t,n,e);let i=t;return a!==void 0&&(i=i.slice(a)),r!==void 0&&(i=i.slice(0,r)),i}let c=f(s,n,e);return a!==void 0&&(c=c.slice(a)),r!==void 0&&(c=c.slice(0,r)),c||[]},count:async({model:e,where:t})=>t?p(t,e).length:c[e].length,update:async({model:e,where:t,update:n})=>{if(t.length===0)return null;let r=p(t,e);return r.forEach(e=>{Object.assign(e,n)}),r[0]||null},delete:async({model:e,where:t})=>{if(t.length===0)return;let n=c[e],r=p(t,e);c[e]=n.filter(e=>!r.includes(e))},deleteMany:async({model:e,where:t})=>{let n=c[e],r=p(t,e),i=0;return c[e]=n.filter(e=>r.includes(e)?(i++,!1):!r.includes(e)),i},consumeOne:async({model:e,where:t})=>{let n=c[e],r=p(t,e)[0];return r?(c[e]=n.filter(e=>e!==r),r):null},incrementOne:async({model:e,where:t,increment:n,set:r})=>{let i=p(t,e)[0];if(!i)return null;for(let[e,t]of Object.entries(n))i[e]=(typeof i[e]==`number`?i[e]:0)+t;return r&&Object.assign(i,r),i},updateMany:async({model:e,where:t,update:n})=>{let r=p(t,e);return r.forEach(e=>{Object.assign(e,n)}),r.length}}}}),p=f(c);return e=>(d=e,p(e))};export{d as memoryAdapter};
@@ -1 +0,0 @@
1
- import{C as e,E as t,G as n,H as r,M as i,N as a,P as o,Q as s,U as c,_ as l,a as u,b as d,c as f,d as p,f as m,g as h,h as g,i as _,k as v,l as y,m as b,n as x,o as S,p as C,r as w,s as T,t as E,u as D,v as O,w as k,y as A}from"./hooks-Cz6AT21d.js";import{a as j,i as M,n as N,o as P,r as F,s as I,t as L}from"./components-DX9r6vHn.js";var R=s({Children:()=>o,ErrorBoundary:()=>L,Fragment:()=>F,StrictMode:()=>F,Suspense:()=>N,cloneElement:()=>B,createContext:()=>c,createElement:()=>z,createPortal:()=>e,createRef:()=>E,default:()=>H,flushSync:()=>k,forwardRef:()=>x,isValidElement:()=>v,jsx:()=>z,memo:()=>V,render:()=>t,startTransition:()=>w,startViewTransition:()=>_,use:()=>u,useActionState:()=>j,useCallback:()=>S,useContext:()=>r,useDebugValue:()=>T,useDeferredValue:()=>f,useEffect:()=>y,useFormStatus:()=>P,useId:()=>D,useImperativeHandle:()=>p,useInsertionEffect:()=>m,useLayoutEffect:()=>C,useMemo:()=>b,useOptimistic:()=>I,useReducer:()=>g,useRef:()=>h,useState:()=>l,useSyncExternalStore:()=>O,useTransition:()=>A,useViewTransition:()=>d,version:()=>i}),z=(e,t,...n)=>{let r=t?{...t}:{};n.length&&(r.children=n.length===1?n[0]:n);let i;return`key`in r&&(i=r.key,delete r.key),M(e,r,i)},B=(e,t,...n)=>M(e.tag,{...e.props,...t,children:n.length?n:e.props.children},e.key),V=(e,t=a)=>{let r=(t=>e(t));return r[n]=t,r},H={version:i,useState:l,useEffect:y,useRef:h,useCallback:S,use:u,startTransition:w,useTransition:A,useDeferredValue:f,startViewTransition:_,useViewTransition:d,useMemo:b,useLayoutEffect:C,useInsertionEffect:m,useReducer:g,useId:D,useDebugValue:T,createRef:E,forwardRef:x,useImperativeHandle:p,useSyncExternalStore:O,useFormStatus:P,useActionState:j,useOptimistic:I,Suspense:N,ErrorBoundary:L,createContext:c,useContext:r,memo:V,isValidElement:v,createElement:z,cloneElement:B,Children:o,Fragment:F,StrictMode:F,flushSync:k,createPortal:e};export{R as t};
@@ -1,8 +0,0 @@
1
- var e=Object.create(null),t=e=>({}),n=new Proxy(e,{get(n,r){return t()[r]??e[r]},has(n,r){return r in t()||r in e},set(e,n,r){let i=t(!0);return i[n]=r,!0},deleteProperty(e,n){if(!n)return!1;let r=t(!0);return delete r[n],!0},ownKeys(){let e=t(!0);return Object.keys(e)}});function r(e){return e?e!==`false`:!1}var i=n.NODE_ENV??``,a=i===`production`,o=()=>i===`dev`||i===`development`,s=()=>i===`test`||r(n.TEST);function c(e,t){return typeof process<`u`?{}[e]??t:typeof Deno<`u`?Deno.env.get(e)??t:typeof Bun<`u`?Bun.env[e]??t:t}function l(e,t=!0){let n=c(e);return n?n!==`0`&&n.toLowerCase()!==`false`&&n!==``:t}var u=Object.freeze({get BETTER_AUTH_SECRET(){return c(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return c(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return c(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return c(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return c(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return c(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return c(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}}),d=1,f=4,p=8,m=24,h={eterm:f,cons25:f,console:f,cygwin:f,dtterm:f,gnome:f,hurd:f,jfbterm:f,konsole:f,kterm:f,mlterm:f,mosh:m,putty:f,st:f,"rxvt-unicode-24bit":m,terminator:m,"xterm-kitty":m},g=new Map(Object.entries({APPVEYOR:p,BUILDKITE:p,CIRCLECI:m,DRONE:p,GITEA_ACTIONS:m,GITHUB_ACTIONS:m,GITLAB_CI:p,TRAVIS:p})),_=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function v(){if(c(`FORCE_COLOR`)!==void 0)switch(c(`FORCE_COLOR`)){case``:case`1`:case`true`:return f;case`2`:return p;case`3`:return m;default:return d}if(c(`NODE_DISABLE_COLORS`)!==void 0&&c(`NODE_DISABLE_COLORS`)!==``||c(`NO_COLOR`)!==void 0&&c(`NO_COLOR`)!==``||c(`TERM`)===`dumb`)return d;if(c(`TMUX`))return m;if(`TF_BUILD`in n&&`AGENT_NAME`in n)return f;if(`CI`in n){for(let{0:e,1:t}of g)if(e in n)return t;return c(`CI_NAME`)===`codeship`?p:d}if(`TEAMCITY_VERSION`in n)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(c(`TEAMCITY_VERSION`))===null?d:f;switch(c(`TERM_PROGRAM`)){case`iTerm.app`:return!c(`TERM_PROGRAM_VERSION`)||/^[0-2]\./.exec(c(`TERM_PROGRAM_VERSION`))!==null?p:m;case`HyperTerm`:case`MacTerm`:return m;case`Apple_Terminal`:return p}if(c(`COLORTERM`)===`truecolor`||c(`COLORTERM`)===`24bit`)return m;if(c(`TERM`)){if(/truecolor/.exec(c(`TERM`))!==null)return m;if(/^xterm-256/.exec(c(`TERM`))!==null)return p;let e=c(`TERM`).toLowerCase();if(h[e])return h[e];if(_.some(t=>t.exec(e)!==null))return f}return c(`COLORTERM`)?f:d}var y={reset:`\x1B[0m`,bright:`\x1B[1m`,dim:`\x1B[2m`,undim:`\x1B[22m`,underscore:`\x1B[4m`,blink:`\x1B[5m`,reverse:`\x1B[7m`,hidden:`\x1B[8m`,fg:{black:`\x1B[30m`,red:`\x1B[31m`,green:`\x1B[32m`,yellow:`\x1B[33m`,blue:`\x1B[34m`,magenta:`\x1B[35m`,cyan:`\x1B[36m`,white:`\x1B[37m`},bg:{black:`\x1B[40m`,red:`\x1B[41m`,green:`\x1B[42m`,yellow:`\x1B[43m`,blue:`\x1B[44m`,magenta:`\x1B[45m`,cyan:`\x1B[46m`,white:`\x1B[47m`}},b=[`debug`,`info`,`success`,`warn`,`error`];function x(e,t){return b.indexOf(t)>=b.indexOf(e)}var S={info:y.fg.blue,success:y.fg.green,warn:y.fg.yellow,error:y.fg.red,debug:y.fg.magenta},C=(e,t,n)=>{let r=new Date().toISOString();return n?`${y.dim}${r}${y.reset} ${S[e]}${e.toUpperCase()}${y.reset} ${y.bright}[Better Auth]:${y.reset} ${t}`:`${r} ${e.toUpperCase()} [Better Auth]: ${t}`},w=e=>{let t=e?.disabled!==!0,n=e?.level??`warn`,r=e?.disableColors===void 0?v()!==1:!e.disableColors,i=(i,a,o=[])=>{if(!t||!x(n,i))return;let s=C(i,a,r);if(!e||typeof e.log!=`function`){i===`error`?console.error(s,...o):i===`warn`?console.warn(s,...o):console.log(s,...o);return}e.log(i===`success`?`info`:i,a,...o)};return{...Object.fromEntries(b.map(e=>[e,(...[t,...n])=>i(e,t,n)])),get level(){return n}}},T=w();function ee(){let e=Object.getOwnPropertyDescriptor(Error,`stackTraceLimit`);return e===void 0?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,`writable`)?e.writable:e.set!==void 0}function te(e){let t=e.split(`
2
- at `);return t.length<=1?e:(t.splice(1,1),t.join(`
3
- at `))}function ne(e,t){class n extends e{#e;constructor(...e){if(ee()){let t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);let t=Error().stack;t&&(this.#e=te(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}return Object.defineProperty(n.prototype,"constructor",{get(){return t},enumerable:!1,configurable:!0}),n}var re={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511},ie=class extends Error{status;body;headers;statusCode;constructor(e=`INTERNAL_SERVER_ERROR`,t=void 0,n={},r=typeof e==`number`?e:re[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=n,this.statusCode=r,this.name=`APIError`,this.status=e,this.headers=n,this.statusCode=r,this.body=t}},ae=class extends ie{message;issues;constructor(e,t){super(400,{message:e,code:`VALIDATION_ERROR`}),this.message=e,this.issues=t,this.issues=t}},oe=class extends Error{constructor(e){super(e),this.name=`BetterCallError`}},se=Symbol.for(`better-call:api-error-headers`),ce=ne(ie,Error),E=class extends Error{constructor(e,t){super(e,t),this.name=`BetterAuthError`,this.message=e,this.stack=``}},le=class e extends ce{constructor(...e){super(...e)}static fromStatus(t,n){return new e(t,n)}static from(t,n){return new e(t,{message:n.message,code:n.code})}};function D(e){switch(e){case`a-z`:return`abcdefghijklmnopqrstuvwxyz`;case`A-Z`:return`ABCDEFGHIJKLMNOPQRSTUVWXYZ`;case`0-9`:return`0123456789`;case`-_`:return`-_`;default:throw Error(`Unsupported alphabet: ${e}`)}}function O(...e){let t=e.map(D).join(``);if(t.length===0)throw Error(`No valid characters provided for random string generation.`);let n=t.length;return(e,...r)=>{if(e<=0)throw Error(`Length must be a positive integer.`);let i=t,a=n;r.length>0&&(i=r.map(D).join(``),a=i.length);let o=Math.floor(256/a)*a,s=new Uint8Array(e*2),c=s.length,l=``,u=c,d;for(;l.length<e;)u>=c&&(crypto.getRandomValues(s),u=0),d=s[u++],d<o&&(l+=i[d%a]);return l}}var k=63,ue=16;function A(e){return e.toLowerCase()}function j(e){return new TextEncoder().encode(e).length}function de(e,t){let n=``,r=0;for(let i of e){let e=j(i);if(r+e>t)break;n+=i,r+=e}return n}function fe(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,`0`)}function M(e,t){if(t.name!==void 0){if(t.name.trim().length===0)throw new E(`Database index names must contain at least one visible character.`);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t.name))throw new E(`Database index names must start with a letter or underscore and contain only letters, numbers, and underscores.`);if(j(t.name)>k)throw new E(`Database index names must be at most ${k} UTF-8 bytes.`);return t.name}let n=t.unique?`uidx`:`idx`,r=`${e}_${t.fields.join(`_`)}_${n}`;if(j(r)<=k)return r;let i=`_${fe(r)}_${n}`;return`${de(r.slice(0,-n.length-1),k-j(i))}${i}`}function N(e,t,n){return M(e,{fields:[t],unique:n})}function pe({fields:e,indexes:t,tableName:n}){let r=(t??[]).map(t=>{if(t.fields.length===0)throw new E(`Index on table "${n}" must include at least one field.`);if(t.fields.length>ue)throw new E(`Index on table "${n}" can include at most ${ue} fields so it works across supported databases.`);if(new Set(t.fields).size!==t.fields.length)throw new E(`Index on table "${n}" contains the same field more than once.`);if(t.unique&&t.fields.some(t=>e[t]?.required===!1))throw new E(`Unique index on table "${n}" can only include required fields so its behavior is consistent across databases.`);let r=t.fields.find(t=>{let n=e[t]?.type;return n===`json`||n===`string[]`||n===`number[]`});if(r)throw new E(`Index on table "${n}" references field "${r}", whose type is not portably indexable.`);let i=t=>{let r=e[t];if(!r)throw new E(`Index on table "${n}" references unknown field "${t}".`);return r.fieldName||t},[a,...o]=t.fields,s=[i(a),...o.map(i)];if(new Set(s.map(A)).size!==s.length)throw new E(`Index on table "${n}" resolves more than one field to the same database column.`);return{columns:s,name:M(n,{...t,fields:s}),unique:t.unique}}),i=new Map,a=[];for(let e of r){let t=JSON.stringify([e.columns,e.unique??!1]),r=A(e.name),o=i.get(r);if(o&&o!==t)throw new E(`Database index name "${e.name}" identifies more than one index on table "${n}".`);o||(i.set(r,t),a.push(e))}return a}function me({columnName:e,dialect:t,fields:n,indexes:r}){let i=new Map(Object.entries(n).map(([e,t])=>[t.fieldName||e,t])),a=r.filter(t=>t.columns.includes(e));if(a.length===0)return;let o=t===`mysql`?3072:1700,s=t===`mysql`?4:1,c=t===`mysql`?191:255;return a.reduce((e,t)=>{let n=t.columns.filter(e=>{let t=i.get(e)?.type;return t===`string`||Array.isArray(t)}).length;if(n===0)return e;let r=(t.columns.length-n)*16,a=Math.floor(Math.max(1,o-r)/s/n);return Math.min(e,a)},c)}function he(e){let t=new Map;for(let n of e){let e=t.get(n.tableName);if(e){if(e.indexes.length>0||(n.indexes?.length??0)>0)throw new E(`Database schema resolves more than one indexed logical table to "${n.tableName}". Define table-level indexes through one logical schema key instead of aliasing multiple keys to the same database table.`);Object.assign(e.fields,n.fields);continue}let r={fields:{},indexes:[],tableName:n.tableName};Object.assign(r.fields,n.fields),r.indexes.push(...n.indexes??[]),t.set(n.tableName,r)}let n=new Map,r=new Map,i=new Map([...t.keys()].map(e=>[A(e),e])),a=new Map;for(let e of t.values())for(let[t,n]of Object.entries(e.fields)){if(!n.index&&!n.unique)continue;let r=N(e.tableName,n.fieldName||t,n.unique??!1),o=A(r);if(i.has(o))throw new E(`Database index name "${r}" conflicts with a table name. Index and table names must be unique across the schema.`);let s=a.get(o);if(s)throw new E(`Database field-level index name "${r}" is used by both table "${s}" and table "${e.tableName}".`);a.set(o,e.tableName)}for(let e of t.values()){let t=pe(e);n.set(e.tableName,[...t]);for(let n of t){let t=A(n.name);if(i.has(t))throw new E(`Database index name "${n.name}" conflicts with a table name. Index and table names must be unique across the schema.`);let o=a.get(t);if(o)throw new E(`Database index name "${n.name}" is already reserved by field-level index metadata on table "${o}". Remove the duplicate table-level index or give it a distinct name.`);let s=r.get(t);if(s&&s!==e.tableName)throw new E(`Database index name "${n.name}" is used by both table "${s}" and table "${e.tableName}". Index names must be unique across the schema.`);r.set(t,e.tableName)}}return n}function P(...e){let t=[],n=new Set;for(let r of e.flatMap(e=>e??[])){let e=JSON.stringify([r.name??null,r.fields,r.unique??!1]);n.has(e)||(n.add(e),t.push(r))}return t}var ge=e=>{let t=(e.plugins??[]).reduce((e,t)=>{let n=t.schema;if(!n)return e;for(let[t,r]of Object.entries(n))e[t]={fields:{...e[t]?.fields,...r.fields},indexes:P(e[t]?.indexes,r.indexes),modelName:r.modelName||t,disableMigrations:r.disableMigration??e[t]?.disableMigrations};return e},{}),n=e.rateLimit?.storage===`database`,r={rateLimit:{modelName:e.rateLimit?.modelName||`rateLimit`,fields:{key:{type:`string`,unique:!0,required:!0,fieldName:e.rateLimit?.fields?.key||`key`},count:{type:`number`,required:!0,fieldName:e.rateLimit?.fields?.count||`count`},lastRequest:{type:`number`,bigint:!0,required:!0,fieldName:e.rateLimit?.fields?.lastRequest||`lastRequest`,defaultValue:()=>Date.now()}}}},{user:i,session:a,account:o,verification:s,...c}=t,l={verification:{modelName:e.verification?.modelName||`verification`,indexes:s?.indexes,fields:{identifier:{type:`string`,required:!0,fieldName:e.verification?.fields?.identifier||`identifier`,index:!0},value:{type:`string`,required:!0,fieldName:e.verification?.fields?.value||`value`},expiresAt:{type:`date`,required:!0,fieldName:e.verification?.fields?.expiresAt||`expiresAt`},createdAt:{type:`date`,required:!0,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||`createdAt`},updatedAt:{type:`date`,required:!0,defaultValue:()=>new Date,onUpdate:()=>new Date,fieldName:e.verification?.fields?.updatedAt||`updatedAt`},...s?.fields,...e.verification?.additionalFields},order:4}},u={session:{modelName:e.session?.modelName||`session`,indexes:a?.indexes,fields:{expiresAt:{type:`date`,required:!0,fieldName:e.session?.fields?.expiresAt||`expiresAt`},token:{type:`string`,required:!0,fieldName:e.session?.fields?.token||`token`,unique:!0},createdAt:{type:`date`,required:!0,fieldName:e.session?.fields?.createdAt||`createdAt`,defaultValue:()=>new Date},updatedAt:{type:`date`,required:!0,fieldName:e.session?.fields?.updatedAt||`updatedAt`,onUpdate:()=>new Date},ipAddress:{type:`string`,required:!1,fieldName:e.session?.fields?.ipAddress||`ipAddress`},userAgent:{type:`string`,required:!1,fieldName:e.session?.fields?.userAgent||`userAgent`},userId:{type:`string`,fieldName:e.session?.fields?.userId||`userId`,references:{model:`user`,field:`id`,onDelete:`cascade`},required:!0,index:!0},...a?.fields,...e.session?.additionalFields},order:2}};return{user:{modelName:e.user?.modelName||`user`,indexes:i?.indexes,fields:{name:{type:`string`,required:!0,fieldName:e.user?.fields?.name||`name`,sortable:!0},email:{type:`string`,unique:!0,required:!0,fieldName:e.user?.fields?.email||`email`,sortable:!0},emailVerified:{type:`boolean`,defaultValue:!1,required:!0,fieldName:e.user?.fields?.emailVerified||`emailVerified`,input:!1},image:{type:`string`,required:!1,fieldName:e.user?.fields?.image||`image`},createdAt:{type:`date`,defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||`createdAt`},updatedAt:{type:`date`,defaultValue:()=>new Date,onUpdate:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||`updatedAt`},...i?.fields,...e.user?.additionalFields},order:1},...!e.secondaryStorage||e.session?.storeSessionInDatabase?u:{},account:{modelName:e.account?.modelName||`account`,indexes:P([{fields:[`issuer`,`accountId`],unique:!0}],o?.indexes),fields:{issuer:{type:`string`,required:!0,fieldName:e.account?.fields?.issuer||`issuer`},accountId:{type:`string`,required:!0,fieldName:e.account?.fields?.accountId||`accountId`},providerId:{type:`string`,required:!0,fieldName:e.account?.fields?.providerId||`providerId`},userId:{type:`string`,references:{model:`user`,field:`id`,onDelete:`cascade`},required:!0,fieldName:e.account?.fields?.userId||`userId`,index:!0},accessToken:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.accessToken||`accessToken`},refreshToken:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.refreshToken||`refreshToken`},idToken:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.idToken||`idToken`},accessTokenExpiresAt:{type:`date`,required:!1,returned:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||`accessTokenExpiresAt`},refreshTokenExpiresAt:{type:`date`,required:!1,returned:!1,fieldName:e.account?.fields?.refreshTokenExpiresAt||`refreshTokenExpiresAt`},scope:{type:`string`,required:!1,fieldName:e.account?.fields?.scope||`scope`},password:{type:`string`,required:!1,returned:!1,fieldName:e.account?.fields?.password||`password`},createdAt:{type:`date`,required:!0,fieldName:e.account?.fields?.createdAt||`createdAt`,defaultValue:()=>new Date},updatedAt:{type:`date`,required:!0,fieldName:e.account?.fields?.updatedAt||`updatedAt`,onUpdate:()=>new Date},...o?.fields,...e.account?.additionalFields},order:3},...!e.secondaryStorage||e.verification?.storeInDatabase?l:{},...c,...n?r:{}}};function F(e){let t=ge(e);return{indexesByTable:he(Object.values(t).filter(e=>!(`disableMigrations`in e)||!e.disableMigrations).map(e=>({fields:e.fields,indexes:`indexes`in e?e.indexes:void 0,tableName:e.modelName}))),tables:t}}var I=e=>F(e).tables,_e=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;function L(e){if(typeof e==`string`&&_e.test(e)){let t=new Date(e);if(!isNaN(t.getTime()))return t}return e}function R(e){if(e==null)return e;if(typeof e==`string`)return L(e);if(e instanceof Date)return e;if(Array.isArray(e))return e.map(R);if(typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=R(e[n]);return t}return e}function ve(e){try{return typeof e==`string`?JSON.parse(e,(e,t)=>L(t)):e==null?null:R(e)}catch(e){return T.error(`Error parsing JSON`,{error:e}),null}}var z=`db.collection.name`,B=`db.operation.name`,ye=`http.response.status_code`,be=`http.route`;function V(e,t,n){return n()}var H=e=>O(`a-z`,`A-Z`,`0-9`)(e||32),U=({usePlural:e,schema:t})=>n=>{let r=e=>t[e]?e:Object.entries(t).find(([t,n])=>n.modelName===e)?.[0];if(e&&n.charAt(n.length-1)===`s`){let e=r(n.slice(0,-1));if(e)return e}let i=r(n);if(!i)throw new E(`Model "${n}" not found in schema`);return i},W=({schema:e,usePlural:t})=>{let n=U({schema:e,usePlural:t});return({field:t,model:r})=>{if(t===`id`||t===`_id`)return`id`;let i=n(r),a=e[i]?.fields[t];if(!a){let n=Object.entries(e[i].fields).find(([e,n])=>n.fieldName===t);n&&(a=n[1],t=n[0])}if(!a)throw new E(`Field ${t} not found in model ${i}`);return t}},G=({usePlural:e,schema:t,disableIdGeneration:n,options:r,customIdGenerator:i,supportsUUIDs:a})=>{let o=U({usePlural:e,schema:t});return({customModelName:e,forceAllowId:t})=>{let s=r.advanced?.database?.generateId===`serial`,c=r.advanced?.database?.generateId===`uuid`,l=n||s&&!t?!1:!c||!a,u=o(e??`id`);return{type:s?`number`:`string`,required:!!l,...l?{defaultValue(){if(n)return;let e=r.advanced?.database?.generateId;if(e!==!1&&e!==`serial`)return typeof e==`function`?e({model:u}):e===`uuid`?crypto.randomUUID():i?i({model:u}):H()}}:{},transform:{input:e=>{if(e){if(s){let t=Number(e);return isNaN(t)?void 0:t}if(c){if(l&&!t)return e;if(n)return;if(t&&typeof e==`string`){if(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e))return e;{let e=Error().stack?.split(`
4
- `).filter((e,t)=>t!==1).join(`
5
- `).replace(`Error:`,``);T.warn("[Adapter Factory] - Invalid UUID value for field `id` provided when `forceAllowId` is true. Generating a new UUID.",e)}}return a?void 0:typeof e!=`string`&&!a?crypto.randomUUID():void 0}return e}},output:e=>{if(e)return String(e)}}}}},xe=({usePlural:e,schema:t,options:n,customIdGenerator:r,disableIdGeneration:i})=>{let a=U({usePlural:e,schema:t}),o=W({usePlural:e,schema:t}),s=G({usePlural:e,schema:t,options:n,customIdGenerator:r,disableIdGeneration:i});return({model:e,field:n})=>{let r=a(e),i=o({field:n,model:r}),c=t[r].fields;c.id=s({customModelName:r});let l=c[i];if(!l)throw new E(`Field ${n} not found in model ${e}`);return l}},K=({schema:e,usePlural:t})=>{let n=U({schema:e,usePlural:t}),r=W({schema:e,usePlural:t});function i({model:t,field:i}){let a=n(t),o=r({model:a,field:i});return e[a]?.fields[o]?.fieldName||o}return i},q=({usePlural:e,schema:t})=>{let n=U({schema:t,usePlural:e});return r=>{let i=n(r);return t&&t[i]&&t[i].modelName!==r?e?`${t[i].modelName}s`:t[i].modelName:e?`${r}s`:r}};function Se(e,t,n){return n===`update`?e===void 0&&t.onUpdate!==void 0?typeof t.onUpdate==`function`?t.onUpdate():t.onUpdate:e:n===`create`&&(e===void 0||t.required===!0&&e===null)&&t.defaultValue!==void 0?typeof t.defaultValue==`function`?t.defaultValue():t.defaultValue:e}var J=[],Y=-1,Ce=e=>t=>t(e),we=({adapter:e,config:t})=>n=>{let r=Math.random().toString(36).substring(2,15),i={...t,supportsBooleans:t.supportsBooleans??!0,supportsDates:t.supportsDates??!0,supportsJSON:t.supportsJSON??!1,adapterName:t.adapterName??t.adapterId,supportsNumericIds:t.supportsNumericIds??!0,supportsUUIDs:t.supportsUUIDs??!1,supportsArrays:t.supportsArrays??!1,transaction:t.transaction??!1,disableTransformInput:t.disableTransformInput??!1,disableTransformOutput:t.disableTransformOutput??!1,disableTransformJoin:t.disableTransformJoin??!1};if(n.advanced?.database?.generateId===`serial`&&i.supportsNumericIds===!1)throw new E(`[${i.adapterName}] Your database or database adapter does not support numeric ids. Please disable "useNumberId" in your config.`);let a=I(n),o=(...e)=>{if(i.debugLogs===!0||typeof i.debugLogs==`object`){let t=w({level:`info`});if(typeof i.debugLogs==`object`&&`isRunningAdapterTests`in i.debugLogs){i.debugLogs.isRunningAdapterTests&&(e.shift(),J.push({instance:r,args:e}));return}if(typeof i.debugLogs==`object`&&i.debugLogs.logCondition&&!i.debugLogs.logCondition?.())return;if(typeof e[0]==`object`&&`method`in e[0]){let n=e.shift().method;if(typeof i.debugLogs==`object`&&(n===`create`&&!i.debugLogs.create||n===`update`&&!i.debugLogs.update||n===`updateMany`&&!i.debugLogs.updateMany||n===`findOne`&&!i.debugLogs.findOne||n===`findMany`&&!i.debugLogs.findMany||n===`delete`&&!i.debugLogs.delete||n===`deleteMany`&&!i.debugLogs.deleteMany||n===`consumeOne`&&!i.debugLogs.consumeOne||n===`incrementOne`&&!i.debugLogs.incrementOne||n===`count`&&!i.debugLogs.count))return;t.info(`[${i.adapterName}]`,...e)}else t.info(`[${i.adapterName}]`,...e)}},s=w(n.logger),c=U({usePlural:i.usePlural,schema:a}),l=W({usePlural:i.usePlural,schema:a}),u=q({usePlural:i.usePlural,schema:a}),d=K({schema:a,usePlural:i.usePlural}),f=G({schema:a,options:n,usePlural:i.usePlural,disableIdGeneration:i.disableIdGeneration,customIdGenerator:i.customIdGenerator,supportsUUIDs:i.supportsUUIDs}),p=xe({schema:a,options:n,usePlural:i.usePlural,disableIdGeneration:i.disableIdGeneration,customIdGenerator:i.customIdGenerator}),m=async(e,t,r,o)=>{let c={},l=a[t].fields,d=i.mapKeysTransformInput??{},p=n.advanced?.database?.generateId===`serial`;l.id=f({customModelName:t,forceAllowId:o&&`id`in e});for(let o in l){let f=e[o],m=l[o],h=d[o]||l[o].fieldName||o;if(f===void 0&&(m.defaultValue===void 0&&!m.transform?.input&&!(r===`update`&&m.onUpdate)||r===`update`&&!m.onUpdate))continue;if(m&&m.type===`date`&&!(f instanceof Date)&&typeof f==`string`)try{f=new Date(f)}catch{s.error(`[Adapter Factory] Failed to convert string to date`,{value:f,field:o})}let g=Se(f,m,r);m.transform?.input&&(g=await m.transform.input(g)),m.references?.field===`id`&&p?g=Array.isArray(g)?g.map(e=>e===null?null:Number(e)):g===null?null:Number(g):i.supportsJSON===!1&&typeof g==`object`&&m.type===`json`||i.supportsArrays===!1&&Array.isArray(g)&&(m.type===`string[]`||m.type===`number[]`)?g=JSON.stringify(g):i.supportsDates===!1&&g instanceof Date&&m.type===`date`?g=g.toISOString():i.supportsBooleans===!1&&typeof g==`boolean`&&(g=+!!g),i.customTransformInput&&(g=i.customTransformInput({data:g,action:r,field:h,fieldAttributes:m,model:u(t),schema:a,options:n})),g!==void 0&&(c[h]=g)}return c},h=async(e,t,r=[],o)=>{let s=async(e,t,r=[])=>{if(!e)return null;let o=i.mapKeysTransformOutput??{},s={},l=a[c(t)].fields,d=Object.entries(o).find(([e,t])=>t===`id`)?.[0];l[d??`id`]={type:n.advanced?.database?.generateId===`serial`?`number`:`string`};for(let c in l){if(r.length&&!r.includes(c))continue;let d=l[c];if(d){let l=d.fieldName||c,f=e[Object.entries(o).find(([e,t])=>t===l)?.[0]||l];d.transform?.output&&(f=await d.transform.output(f));let p=o[c]||c;l===`id`||d.references?.field===`id`?f!=null&&(f=String(f)):i.supportsJSON===!1&&typeof f==`string`&&d.type===`json`||i.supportsArrays===!1&&typeof f==`string`&&(d.type===`string[]`||d.type===`number[]`)?f=ve(f):i.supportsDates===!1&&typeof f==`string`&&d.type===`date`?f=new Date(f):i.supportsBooleans===!1&&typeof f==`number`&&d.type===`boolean`&&(f=f===1),i.customTransformOutput&&(f=i.customTransformOutput({data:f,field:p,fieldAttributes:d,select:r,model:u(t),schema:a,options:n})),s[p]=f}}return s};if(!o||Object.keys(o).length===0)return await s(e,t,r);t=c(t);let l=await s(e,t,r),d=Object.entries(o).map(([e,t])=>({modelName:u(e),defaultModelName:c(e),joinConfig:t}));if(!e)return null;for(let{modelName:r,defaultModelName:i,joinConfig:a}of d){let o=await(async()=>n.advanced?.database?.joins&&r in e?e[r]:await v({baseModel:t,baseData:l,joinModel:r,specificJoinConfig:a}))();o??=a.relation===`one-to-one`?null:[],a.relation===`one-to-many`&&!Array.isArray(o)&&(o=[o]);let c=[];if(Array.isArray(o))for(let e of o){let t=await s(e,r,[]);c.push(t)}else{let e=await s(o,r,[]);c.push(e)}l[i]=(a.relation===`one-to-one`?c[0]:c)??null}return l},g=({model:e,where:t,action:r})=>{if(!t)return;let o=i.mapKeysTransformInput??{};return t.map(t=>{let{field:s,value:f,operator:m=`eq`,connector:h=`AND`,mode:g=`sensitive`}=t;if(m===`in`&&!Array.isArray(f))throw new E(`Value must be an array`);let _=f,v=c(e),y=l({field:s,model:e}),b=o[y]||d({field:y,model:v}),x=p({field:y,model:v}),S=n.advanced?.database?.generateId===`serial`;if((y===`id`||x.references?.field===`id`)&&S&&(_=Array.isArray(f)?f.map(Number):Number(f)),x.type===`date`&&f instanceof Date&&!i.supportsDates&&(_=f.toISOString()),x.type===`boolean`&&typeof _==`string`&&(_=_===`true`),x.type===`number`){if(typeof _==`string`&&_.trim()!==``){let e=Number(_);Number.isNaN(e)||(_=e)}else if(Array.isArray(_)){let e=_.map(e=>typeof e==`string`&&e.trim()!==``?Number(e):NaN);e.every(e=>!Number.isNaN(e))&&(_=e)}}if(x.type===`boolean`&&typeof _==`boolean`&&!i.supportsBooleans&&(_=+!!_),x.type===`json`&&typeof f==`object`&&!i.supportsJSON)try{_=JSON.stringify(f)}catch(e){throw Error(`Failed to stringify JSON value for field ${b}`,{cause:e})}return i.customTransformInput&&(_=i.customTransformInput({data:_,fieldAttributes:x,field:b,model:u(e),schema:a,options:n,action:r})),{operator:m,connector:h,field:b,value:_,mode:g}})},_=(e,t,r)=>{if(!t||Object.keys(t).length===0)return;let i={};for(let[o,s]of Object.entries(t)){if(!s)continue;let t=c(o),l=c(e),f=Object.entries(a[t].fields).filter(([e,t])=>t.references&&c(t.references.model)===l),p=!0;if(f.length||(f=Object.entries(a[l].fields).filter(([e,n])=>n.references&&c(n.references.model)===t),p=!1),!f.length)throw new E(`No foreign key found for model ${o} and base model ${e} while performing join operation.`);if(f.length>1)throw new E(`Multiple foreign keys found for model ${o} and base model ${e} while performing join operation. Only one foreign key is supported.`);let[m,h]=f[0];if(!h.references)throw new E(`No references found for foreign key ${m} on model ${o} while performing join operation.`);let g,_,v;p?(v=h.references.field,g=d({model:e,field:v}),_=d({model:o,field:m})):(v=m,g=d({model:e,field:v}),_=d({model:o,field:h.references.field})),r&&!r.includes(v)&&r.push(v);let y=_===`id`?!0:h.unique??!1,b=n.advanced?.database?.defaultFindManyLimit??100;y?b=1:typeof s==`object`&&typeof s.limit==`number`&&(b=s.limit),i[u(o)]={on:{from:g,to:_},limit:b,relation:y?`one-to-one`:`one-to-many`}}return{join:i,select:r}},v=async({baseModel:e,baseData:t,joinModel:r,specificJoinConfig:i})=>{if(!t)return t;let a=u(r),o=i.on.to,c=t[l({field:i.on.from,model:e})];if(c==null)return i.relation===`one-to-one`?null:[];let d,f=g({model:a,where:[{field:o,value:c,operator:`eq`,connector:`AND`}],action:`findOne`});try{if(i.relation===`one-to-one`)d=await V(`db findOne ${a}`,{[B]:`findOne`,[z]:a},()=>y.findOne({model:a,where:f}));else{let e=i.limit??n.advanced?.database?.defaultFindManyLimit??100;d=await V(`db findMany ${a}`,{[B]:`findMany`,[z]:a},()=>y.findMany({model:a,where:f,limit:e}))}}catch(e){throw s.error(`Failed to query fallback join for model ${a}:`,{where:f,limit:i.limit}),console.error(e),e}return d},y=e({options:n,schema:a,debugLog:o,getFieldName:d,getModelName:u,getDefaultModelName:c,getDefaultFieldName:l,getFieldAttributes:p,transformInput:m,transformOutput:h,transformWhereClause:g}),b=null,x={transaction:async e=>(b||(i.transaction?(s.debug(`[${i.adapterName}] - Using provided transaction implementation.`),b=i.transaction):b=Ce(x)),b(e)),create:async({data:e,model:t,select:n,forceAllowId:r=!1})=>{Y++;let a=Y,l=u(t);if(t=c(t),`id`in e&&e.id!==void 0&&!r){s.warn(`[${i.adapterName}] - You are trying to create a record with an id. This is not allowed as we handle id generation for you, unless you pass in the \`forceAllowId\` parameter. The id will be ignored.`);let t=Error().stack?.split(`
6
- `).filter((e,t)=>t!==1).join(`
7
- `).replace(`Error:`,"Create method with `id` being called at:");console.log(t),e.id=void 0}o({method:`create`},`${X(a)} ${Z(1,4)}`,`${Q(`create`)} ${$(`Unsafe Input`)}:`,{model:l,data:e});let d=e;i.disableTransformInput||(d=await m(e,t,`create`,r)),o({method:`create`},`${X(a)} ${Z(2,4)}`,`${Q(`create`)} ${$(`Parsed Input`)}:`,{model:l,data:d});let f=await V(`db create ${l}`,{[B]:`create`,[z]:l},()=>y.create({data:d,model:l}));o({method:`create`},`${X(a)} ${Z(3,4)}`,`${Q(`create`)} ${$(`DB Result`)}:`,{model:l,res:f});let p=f;return i.disableTransformOutput||(p=await h(f,t,n,void 0)),o({method:`create`},`${X(a)} ${Z(4,4)}`,`${Q(`create`)} ${$(`Parsed Result`)}:`,{model:l,data:p}),p},update:async({model:e,where:t,update:n})=>{Y++;let r=Y;e=c(e);let a=u(e),s=g({model:e,where:t,action:`update`});if(s.length===0)return null;o({method:`update`},`${X(r)} ${Z(1,4)}`,`${Q(`update`)} ${$(`Unsafe Input`)}:`,{model:a,data:n});let l=n;i.disableTransformInput||(l=await m(n,e,`update`)),o({method:`update`},`${X(r)} ${Z(2,4)}`,`${Q(`update`)} ${$(`Parsed Input`)}:`,{model:a,data:l});let d=await V(`db update ${a}`,{[B]:`update`,[z]:a},()=>y.update({model:a,where:s,update:l}));o({method:`update`},`${X(r)} ${Z(3,4)}`,`${Q(`update`)} ${$(`DB Result`)}:`,{model:a,data:d});let f=d;return i.disableTransformOutput||(f=await h(d,e,void 0,void 0)),o({method:`update`},`${X(r)} ${Z(4,4)}`,`${Q(`update`)} ${$(`Parsed Result`)}:`,{model:a,data:f}),f},updateMany:async({model:e,where:t,update:n})=>{Y++;let r=Y,a=u(e),s=g({model:e,where:t,action:`updateMany`});e=c(e),o({method:`updateMany`},`${X(r)} ${Z(1,4)}`,`${Q(`updateMany`)} ${$(`Unsafe Input`)}:`,{model:a,data:n});let l=n;i.disableTransformInput||(l=await m(n,e,`update`)),o({method:`updateMany`},`${X(r)} ${Z(2,4)}`,`${Q(`updateMany`)} ${$(`Parsed Input`)}:`,{model:a,data:l});let d=await V(`db updateMany ${a}`,{[B]:`updateMany`,[z]:a},()=>y.updateMany({model:a,where:s,update:l}));if(typeof d!=`number`||!Number.isFinite(d))throw new E(`Adapter "${i.adapterId}" updateMany must return a finite number affected row count.`);return o({method:`updateMany`},`${X(r)} ${Z(3,4)}`,`${Q(`updateMany`)} ${$(`DB Result`)}:`,{model:a,data:d}),o({method:`updateMany`},`${X(r)} ${Z(4,4)}`,`${Q(`updateMany`)} ${$(`Parsed Result`)}:`,{model:a,data:d}),d},findOne:async({model:e,where:t,select:r,join:a})=>{Y++;let s=Y,l=u(e),d=g({model:e,where:t,action:`findOne`});e=c(e);let f,p=!0;if(i.disableTransformJoin)f=a;else{let t=_(e,a,r);t&&(f=t.join,r=t.select),!n.advanced?.database?.joins&&f&&Object.keys(f).length>0&&(p=!1)}o({method:`findOne`},`${X(s)} ${Z(1,3)}`,`${Q(`findOne`)}:`,{model:l,where:d,select:r,join:f});let m=await V(`db findOne ${l}`,{[B]:`findOne`,[z]:l},()=>y.findOne({model:l,where:d,select:r,join:p?f:void 0}));o({method:`findOne`},`${X(s)} ${Z(2,3)}`,`${Q(`findOne`)} ${$(`DB Result`)}:`,{model:l,data:m});let v=m;return i.disableTransformOutput||(v=await h(m,e,r,f)),o({method:`findOne`},`${X(s)} ${Z(3,3)}`,`${Q(`findOne`)} ${$(`Parsed Result`)}:`,{model:l,data:v}),v},findMany:async({model:e,where:t,limit:r,select:a,sortBy:s,offset:l,join:d})=>{Y++;let f=Y,p=r??n.advanced?.database?.defaultFindManyLimit??100,m=u(e),v=g({model:e,where:t,action:`findMany`});e=c(e);let b,x=!0;if(i.disableTransformJoin)b=d;else{let t=_(e,d,a);t&&(b=t.join,a=t.select),!n.advanced?.database?.joins&&b&&Object.keys(b).length>0&&(x=!1)}o({method:`findMany`},`${X(f)} ${Z(1,3)}`,`${Q(`findMany`)}:`,{model:m,where:v,limit:p,sortBy:s,offset:l,join:b});let S=await V(`db findMany ${m}`,{[B]:`findMany`,[z]:m},()=>y.findMany({model:m,where:v,limit:p,select:a,sortBy:s,offset:l,join:x?b:void 0}));o({method:`findMany`},`${X(f)} ${Z(2,3)}`,`${Q(`findMany`)} ${$(`DB Result`)}:`,{model:m,data:S});let C=S;return i.disableTransformOutput||(C=await Promise.all(S.map(async t=>await h(t,e,void 0,b)))),o({method:`findMany`},`${X(f)} ${Z(3,3)}`,`${Q(`findMany`)} ${$(`Parsed Result`)}:`,{model:m,data:C}),C},delete:async({model:e,where:t})=>{Y++;let n=Y,r=u(e),i=g({model:e,where:t,action:`delete`});e=c(e),o({method:`delete`},`${X(n)} ${Z(1,2)}`,`${Q(`delete`)}:`,{model:r,where:i}),await V(`db delete ${r}`,{[B]:`delete`,[z]:r},()=>y.delete({model:r,where:i})),o({method:`delete`},`${X(n)} ${Z(2,2)}`,`${Q(`delete`)} ${$(`DB Result`)}:`,{model:r})},deleteMany:async({model:e,where:t})=>{Y++;let n=Y,r=u(e),i=g({model:e,where:t,action:`deleteMany`});e=c(e),o({method:`deleteMany`},`${X(n)} ${Z(1,2)}`,`${Q(`deleteMany`)} ${$(`DeleteMany`)}:`,{model:r,where:i});let a=await V(`db deleteMany ${r}`,{[B]:`deleteMany`,[z]:r},()=>y.deleteMany({model:r,where:i}));return o({method:`deleteMany`},`${X(n)} ${Z(2,2)}`,`${Q(`deleteMany`)} ${$(`DB Result`)}:`,{model:r,data:a}),a},consumeOne:async({model:e,where:t})=>{Y++;let n=Y,r=u(e),a=g({model:e,where:t,action:`consumeOne`});if(e=c(e),o({method:`consumeOne`},`${X(n)} ${Z(1,3)}`,`${Q(`consumeOne`)} ${$(`ConsumeOne`)}:`,{model:r,where:a}),typeof y.consumeOne!=`function`)throw new E(`Adapter "${i.adapterId}" must implement consumeOne for atomic single-use credential consumption.`);let s=await V(`db consumeOne ${r}`,{[B]:`consumeOne`,[z]:r},()=>y.consumeOne({model:r,where:a}));o({method:`consumeOne`},`${X(n)} ${Z(2,3)}`,`${Q(`consumeOne`)} ${$(`DB Result`)}:`,{model:r,data:s});let l=s;return!i.disableTransformOutput&&s&&(l=await h(s,e,void 0,void 0)),o({method:`consumeOne`},`${X(n)} ${Z(3,3)}`,`${Q(`consumeOne`)} ${$(`Parsed Result`)}:`,{model:r,data:l}),l},incrementOne:async({model:e,where:t,increment:n,set:r})=>{let a=Object.keys(n).length>0,s=!!r&&Object.keys(r).length>0;if(!a&&!s)throw new E("incrementOne requires a non-empty `increment` or `set`; both were empty.");Y++;let l=Y,f=u(e),p=g({model:e,where:t,action:`incrementOne`});if(e=c(e),o({method:`incrementOne`},`${X(l)} ${Z(1,3)}`,`${Q(`incrementOne`)} ${$(`IncrementOne`)}:`,{model:f,where:p,increment:n,set:r}),typeof y.incrementOne!=`function`)throw new E(`Adapter "${i.adapterId}" must implement incrementOne for atomic guarded counter updates.`);let _=i.mapKeysTransformInput??{},v={};for(let[t,r]of Object.entries(n))v[_[t]||d({model:e,field:t})]=r;let b;if(b=r&&!i.disableTransformInput?await m(r,e,`update`):r,Object.keys(v).length===0&&(!b||Object.keys(b).length===0))throw new E(`incrementOne resolved to an empty update: every increment/set field was unknown to the schema or transformed away.`);let x=await V(`db incrementOne ${f}`,{[B]:`incrementOne`,[z]:f},()=>y.incrementOne({model:f,where:p,increment:v,set:b}));o({method:`incrementOne`},`${X(l)} ${Z(2,3)}`,`${Q(`incrementOne`)} ${$(`DB Result`)}:`,{model:f,data:x});let S=x;return!i.disableTransformOutput&&x&&(S=await h(x,e,void 0,void 0)),o({method:`incrementOne`},`${X(l)} ${Z(3,3)}`,`${Q(`incrementOne`)} ${$(`Parsed Result`)}:`,{model:f,data:S}),S},count:async({model:e,where:t})=>{Y++;let n=Y,r=u(e),i=g({model:e,where:t,action:`count`});e=c(e),o({method:`count`},`${X(n)} ${Z(1,2)}`,`${Q(`count`)}:`,{model:r,where:i});let a=await V(`db count ${r}`,{[B]:`count`,[z]:r},()=>y.count({model:r,where:i}));return o({method:`count`},`${X(n)} ${Z(2,2)}`,`${Q(`count`)}:`,{model:r,data:a}),a},createSchema:y.createSchema?async(e,t)=>{let r=I(n);return n.secondaryStorage&&!n.session?.storeSessionInDatabase&&delete r.session,y.createSchema({file:t,tables:r})}:void 0,options:{adapterConfig:i,...y.options??{}},id:i.adapterId,...i.debugLogs?.isRunningAdapterTests?{adapterTestDebugLogs:{resetDebugLogs(){J=J.filter(e=>e.instance!==r)},printDebugLogs(){let e=`─`.repeat(80),t=J.filter(e=>e.instance===r);if(t.length===0)return;let n=t.reverse().map(e=>(e.args[0]=`\n${e.args[0]}`,[...e.args,`
8
- `])).reduce((e,t)=>[...t,...e],[`\n${e}`]);console.log(...n)}}}:{}};return x};function X(e){return v()<8?`#${e}`:`${y.fg.magenta}#${e}${y.reset}`}function Z(e,t){return`${y.bg.black}${y.fg.yellow}[${e}/${t}]${y.reset}`}function Q(e){return`${y.bright}${e}${y.reset}`}function $(e){return`${y.dim}(${e})${y.reset}`}export{a as A,T as C,l as D,n as E,c as O,w as S,u as T,E as _,V as a,ae as b,be as c,F as d,N as f,le as g,O as h,H as i,s as j,o as k,ve as l,A as m,q as n,z as o,me as p,K as r,ye as s,we as t,I as u,ce as v,x as w,se as x,oe as y};
@@ -1 +0,0 @@
1
- @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--un-bg-opacity:100%;--un-border-opacity:100%;--un-leading:initial;--un-text-opacity:100%}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}:root,:host{--spacing:.25rem;--radius-md:.375rem;--container-md:28rem;--fontWeight-semibold:600;--container-2xl:42rem;--tracking-tight:-.025em;--radius-lg:.5rem;--fontWeight-medium:500;--leading-relaxed:1.625;--tracking-wide:.025em;--colors-stone-900:oklch(21.6% .006 56.043);--colors-stone-50:oklch(98.5% .001 106.423);--colors-white:#fff;--colors-stone-800:oklch(26.8% .007 34.298);--colors-stone-300:oklch(86.9% .005 56.366);--colors-red-700:oklch(50.5% .213 27.518);--colors-stone-600:oklch(44.4% .011 73.639);--colors-stone-500:oklch(55.3% .013 58.071);--colors-stone-200:oklch(92.3% .003 48.717);--colors-stone-700:oklch(37.4% .01 67.558);--colors-stone-400:oklch(70.9% .01 56.259);--colors-stone-100:oklch(97% .001 106.424);--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--text-2xl-fontSize:1.5rem;--text-2xl-lineHeight:2rem;--text-3xl-fontSize:1.875rem;--text-3xl-lineHeight:2.25rem;--text-xl-fontSize:1.25rem;--text-xl-lineHeight:1.75rem;--text-lg-fontSize:1.125rem;--text-lg-lineHeight:1.75rem;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden~=until-found])){display:none!important}.text-2xl{font-size:var(--text-2xl-fontSize);line-height:var(--un-leading,var(--text-2xl-lineHeight))}.text-3xl{font-size:var(--text-3xl-fontSize);line-height:var(--un-leading,var(--text-3xl-lineHeight))}.text-lg{font-size:var(--text-lg-fontSize);line-height:var(--un-leading,var(--text-lg-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xl{font-size:var(--text-xl-fontSize);line-height:var(--un-leading,var(--text-xl-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-red-700{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent)}.text-stone-100{color:color-mix(in srgb, var(--colors-stone-100) var(--un-text-opacity), transparent)}.text-stone-400{color:color-mix(in srgb, var(--colors-stone-400) var(--un-text-opacity), transparent)}.text-stone-50{color:color-mix(in srgb, var(--colors-stone-50) var(--un-text-opacity), transparent)}.text-stone-500{color:color-mix(in srgb, var(--colors-stone-500) var(--un-text-opacity), transparent)}.text-stone-600{color:color-mix(in srgb, var(--colors-stone-600) var(--un-text-opacity), transparent)}.text-stone-700{color:color-mix(in srgb, var(--colors-stone-700) var(--un-text-opacity), transparent)}.text-stone-800{color:color-mix(in srgb, var(--colors-stone-800) var(--un-text-opacity), transparent)}.text-stone-900{color:color-mix(in srgb, var(--colors-stone-900) var(--un-text-opacity), transparent)}.leading-7{--un-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.tracking-tight{--un-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--un-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.p-0{padding:calc(var(--spacing) * 0)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.list-none{list-style-type:none}.border{border-width:1px}.border-0{border-width:0}.border-b-2{border-bottom-width:2px}.border-current{border-color:currentColor}.border-stone-200{border-color:color-mix(in srgb, var(--colors-stone-200) var(--un-border-opacity), transparent)}.border-stone-300{border-color:color-mix(in srgb, var(--colors-stone-300) var(--un-border-opacity), transparent)}.border-stone-900{border-color:color-mix(in srgb, var(--colors-stone-900) var(--un-border-opacity), transparent)}.border-transparent{border-color:#0000}.hover\:border-current:hover{border-color:currentColor}.hover\:border-stone-500:hover{border-color:color-mix(in srgb, var(--colors-stone-500) var(--un-border-opacity), transparent)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.bg-stone-100{background-color:color-mix(in srgb, var(--colors-stone-100) var(--un-bg-opacity), transparent)}.bg-stone-900{background-color:color-mix(in srgb, var(--colors-stone-900) var(--un-bg-opacity), transparent)}.bg-transparent{background-color:#0000}.bg-white{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}.disabled\:opacity-50:disabled{opacity:.5}.underline,.hover\:underline:hover{text-decoration-line:underline}.no-underline{text-decoration:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:calc(var(--spacing) * 1)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-md{max-width:var(--container-md)}.min-h-screen{min-height:100vh}.inline-block{display:inline-block}.cursor-pointer{cursor:pointer}.whitespace-pre-wrap{white-space:pre-wrap}.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-between{justify-content:space-between}@supports (color:color-mix(in lab, red, red)){.text-red-700{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent)}.text-stone-100{color:color-mix(in oklab, var(--colors-stone-100) var(--un-text-opacity), transparent)}.text-stone-400{color:color-mix(in oklab, var(--colors-stone-400) var(--un-text-opacity), transparent)}.text-stone-50{color:color-mix(in oklab, var(--colors-stone-50) var(--un-text-opacity), transparent)}.text-stone-500{color:color-mix(in oklab, var(--colors-stone-500) var(--un-text-opacity), transparent)}.text-stone-600{color:color-mix(in oklab, var(--colors-stone-600) var(--un-text-opacity), transparent)}.text-stone-700{color:color-mix(in oklab, var(--colors-stone-700) var(--un-text-opacity), transparent)}.text-stone-800{color:color-mix(in oklab, var(--colors-stone-800) var(--un-text-opacity), transparent)}.text-stone-900{color:color-mix(in oklab, var(--colors-stone-900) var(--un-text-opacity), transparent)}.border-stone-200{border-color:color-mix(in oklab, var(--colors-stone-200) var(--un-border-opacity), transparent)}.border-stone-300{border-color:color-mix(in oklab, var(--colors-stone-300) var(--un-border-opacity), transparent)}.border-stone-900{border-color:color-mix(in oklab, var(--colors-stone-900) var(--un-border-opacity), transparent)}.hover\:border-stone-500:hover{border-color:color-mix(in oklab, var(--colors-stone-500) var(--un-border-opacity), transparent)}.bg-stone-100{background-color:color-mix(in oklab, var(--colors-stone-100) var(--un-bg-opacity), transparent)}.bg-stone-900{background-color:color-mix(in oklab, var(--colors-stone-900) var(--un-bg-opacity), transparent)}.bg-white{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}}
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/client-B6nFkut5.js","assets/hooks-Cz6AT21d.js","assets/dom-DCd3wYW7.js","assets/components-DX9r6vHn.js"])))=>i.map(i=>d[i]);
2
- var e=`honoto-page`,t=`__HONOTO__`,n=`honoto:page`;function r(e){if(e===null||typeof e!=`object`&&typeof e!=`function`)return!1;let t=e;return(t.kind===`honoto:page`||t.kind===`honoto:server-page`)&&typeof t.render==`function`}function i(e){if(r(e))return e.render;if(typeof e==`function`)return e}function a(e,t,r){if(typeof e==`function`)return{kind:t,client:t===n,render:e};let i=e.render??e.page;if(typeof i!=`function`)throw TypeError(`[honoto] ${r}() requires a JSX function or { render }`);return{kind:t,client:t===n,render:i,data:e.data,config:e.config}}function o(e){return a(e,n,`definePage`)}function s(e){return a(e,`honoto:server-page`,`defineServerPage`)}var c=function(e){return`/`+e},l={},u=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=c(t,n),t=s(t),t in l)return;l[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:`modulepreload`,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},d=new Map,f=null,p,m,h,g=[],_=globalThis;function v(e){h?h(e):g.push(e)}_.__HONOTO_HMR__=v;function y(e){h=e;let t=g.splice(0);for(let n of t)e(n)}function b(){for(let[e,t]of d)e.isConnected||(t.root?.unmount(),d.delete(e));f&&!f.el.isConnected&&(f.root?.unmount(),f=null)}function x(e=document){let n=e.querySelector(`#${t}`);if(!n?.textContent)return null;try{return JSON.parse(n.textContent)}catch{return null}}function S(e){let n=document.getElementById(t);n||(n=document.createElement(`script`),n.id=t,n.type=`application/json`,document.body.appendChild(n)),n.textContent=JSON.stringify(e).replaceAll(`<`,`\\u003c`)}async function C(){let[{hydrateRoot:e},{createElement:t}]=await Promise.all([u(()=>import(`./client-B6nFkut5.js`),__vite__mapDeps([0,1])),u(()=>import(`./dom-DCd3wYW7.js`).then(e=>e.t),__vite__mapDeps([2,1,3]))]);return{hydrateRoot:e,createElement:t}}async function w(){return p??=(await u(async()=>{let{components:e}=await import(`./components-S_-rWrKi.js`);return{components:e}},[])).components,p}async function T(){return m??=(await u(async()=>{let{clientPages:e}=await import(`./client-pages-fshKs747.js`);return{clientPages:e}},[])).clientPages,m}function E(e,t,n,r){return e.createElement?e.createElement(n,r):t(n,r)}async function D(e,t,n,r){if(r)return r.render(n),r;if(e.hydrate)return await e.hydrate(n,t),null;let{hydrateRoot:i}=await C();return i(t,n)}async function O(e,t=document){let n=await w(),{createElement:r}=await C(),i=t.querySelectorAll(`honoto-component`);for(let t of i){let i=t.getAttribute(`data-component`),a=t.getAttribute(`data-export`)??`default`,o=t.getAttribute(`data-props`)??`{}`;if(!i)continue;let s=n[i];if(!s){console.warn(`[honoto] missing hydratable component ${i}`);continue}let c=(await s())[a];if(typeof c!=`function`)continue;let l=JSON.parse(o),u=E(e,r,c,l),f=d.get(t);f?.root&&f.root.unmount();let p=await D(e,t,u,null);d.set(t,{id:i,exportName:a,props:l,root:p})}}async function k(t,n){if(!t.clientPage)return;let r=document.getElementById(e);if(!r)return;let i=(await T())[t.clientPage];if(!i)return;let a=await i();await A(t.clientPage,a,t,n,r)}async function A(e,t,n,r,a){let o=i(t.default);if(!o)return;let{createElement:s}=await C(),c=E(r,s,o,{data:n.data,params:n.params}),l=f?.el===a?f.root:null;f&&f.el!==a&&f.root?.unmount(),f={el:a,path:e,root:await D(r,a,c,l)}}async function j(e,t,n){let{createElement:r}=await C();for(let[i,a]of d){if(a.id!==e)continue;if(!i.isConnected){a.root?.unmount(),d.delete(i);continue}let o=t[a.exportName];typeof o==`function`&&(a.root=await D(n,i,E(n,r,o,a.props),a.root))}}async function M(t,n,r){let i=x();if(!i?.clientPage||i.clientPage!==t)return;let a=document.getElementById(e);a&&await A(t,n,i,r,a)}function N(e){let t=document.querySelectorAll(`nav a[href]`);for(let n of t){if(!(n instanceof HTMLAnchorElement))continue;let t=n.getAttribute(`href`);!t||t.startsWith(`http`)||(t===e||t!==`/`&&(e===t||e.startsWith(`${t}/`))?n.setAttribute(`aria-current`,`page`):n.removeAttribute(`aria-current`))}}async function P(e,t){return b(),t&&await k(t,e),await O(e,document.getElementById(`honoto-page`)??document),t?.path&&N(t.path),t}function F(t){let n=new DOMParser().parseFromString(`<!DOCTYPE html><html><body>${t}</body></html>`,`text/html`),r=x(n);return{slot:n.getElementById(e),payload:r,title:r?.title}}async function I(e){let t=new URL(e,location.href);return F(await(await fetch(t.href,{headers:{"X-Honoto-Nav":`1`}})).text())}async function L(t,n,r,i){let{slot:a,payload:o,title:s}=i;if(o?.clientRouting===!1&&n)return location.href=t,o;let c=document.getElementById(e);c&&a?c.replaceWith(a):a&&document.body.appendChild(a),o&&S(o),s?document.title=s:o?.title&&(document.title=o.title);let l=new URL(t,location.href);return n&&history.pushState({honoto:!0},``,l.href),P(r,o??x())}async function R(e,t,n){return L(e,t,n,await I(e))}async function z(t,n){if(!n?.partial)return n;let r=document.getElementById(e);if(!r)return n;if(r.childNodes.length>0)return P(t,{...n,partial:!1});let i=await I(location.href);return L(location.href,!1,t,i)}function B(e,t){t?.clientRouting&&(document.addEventListener(`click`,t=>{let n=t.target;if(!(n instanceof Element))return;let r=n.closest(`a`);!r||!H(r)||V(t)||document.getElementById(`honoto-page`)&&(t.preventDefault(),R(r.href,!0,e))}),window.addEventListener(`popstate`,()=>{R(location.href,!1,e)}))}function V(e){return e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.button!==0}function H(e){return!(e.hasAttribute(`download`)||e.target&&e.target!==`_self`||e.origin!==location.origin||e.getAttribute(`rel`)?.includes(`external`))}async function U(e,t){if(e.kind===`registry`){e.components&&(p=e.components),e.clientPages&&(m=e.clientPages);return}if(e.kind===`layout`){location.reload();return}if(e.kind===`ssr`){if(!document.getElementById(`honoto-page`)){location.reload();return}await R(location.href,!1,t);return}if(e.kind===`component`&&e.mod){await j(e.id,e.mod,t);return}e.kind===`client-page`&&e.mod&&await M(e.id,e.mod,t)}function W(e={}){let t=t=>{U(t,e)};return y(t),{ready:(async()=>{let t=x();return t=t?.partial?await z(e,t)??t:await P(e,t)??t,B(e,t),t})(),hmr:t}}W();export{o as n,s as r,u as t};