@kozou/svelte-ui 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -3
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css +2 -0
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css.br +0 -0
- package/build/client/_app/immutable/assets/{0.B45CfnXC.css.gz → 0._vgqT-Ja.css.gz} +0 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js +2 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CCUVvlTa.js +214 -0
- package/build/client/_app/immutable/chunks/CCUVvlTa.js.br +0 -0
- package/build/client/_app/immutable/chunks/CCUVvlTa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D5sfkRNZ.js +1 -0
- package/build/client/_app/immutable/chunks/D5sfkRNZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/D5sfkRNZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DdJtfEcD.js +4 -0
- package/build/client/_app/immutable/chunks/DdJtfEcD.js.br +0 -0
- package/build/client/_app/immutable/chunks/DdJtfEcD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Ds-FbTMg.js → De8foa1z.js} +1 -1
- package/build/client/_app/immutable/chunks/De8foa1z.js.br +0 -0
- package/build/client/_app/immutable/chunks/De8foa1z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js +1 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BkKlOvdn.js +2 -0
- package/build/client/_app/immutable/entry/app.BkKlOvdn.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BkKlOvdn.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.Cjh4JaF7.js +1 -0
- package/build/client/_app/immutable/entry/start.Cjh4JaF7.js.br +0 -0
- package/build/client/_app/immutable/entry/start.Cjh4JaF7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js +1 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CrygsmaA.js +1 -0
- package/build/client/_app/immutable/nodes/1.CrygsmaA.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CrygsmaA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js +1 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js +1 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.TqsoTNiI.js +1 -0
- package/build/client/_app/immutable/nodes/4.TqsoTNiI.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.TqsoTNiI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.6savDm4D.js +1 -0
- package/build/client/_app/immutable/nodes/5.6savDm4D.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.6savDm4D.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.B6xlqPuj.js +1 -0
- package/build/client/_app/immutable/nodes/6.B6xlqPuj.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.B6xlqPuj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.mp1zOZZv.js → 7.CjEmXoAF.js} +1 -1
- package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.br +1 -0
- package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-D3i8OEah.js → 0-C4CgvBlc.js} +3 -3
- package/build/server/chunks/{0-D3i8OEah.js.map → 0-C4CgvBlc.js.map} +1 -1
- package/build/server/chunks/{1-HR1yd0wU.js → 1-B5tolhxt.js} +3 -3
- package/build/server/chunks/{1-HR1yd0wU.js.map → 1-B5tolhxt.js.map} +1 -1
- package/build/server/chunks/{2-CE6m9qid.js → 2-D9il_3ty.js} +2 -2
- package/build/server/chunks/{2-CE6m9qid.js.map → 2-D9il_3ty.js.map} +1 -1
- package/build/server/chunks/{3-BfIWDc-d.js → 3-DfrqlU53.js} +3 -3
- package/build/server/chunks/3-DfrqlU53.js.map +1 -0
- package/build/server/chunks/{4-Dqn3l8BI.js → 4-D6Y076hP.js} +46 -4
- package/build/server/chunks/4-D6Y076hP.js.map +1 -0
- package/build/server/chunks/{5-DA-bCkUw.js → 5-DOvvx6kj.js} +25 -12
- package/build/server/chunks/5-DOvvx6kj.js.map +1 -0
- package/build/server/chunks/{6-DEjxcpBy.js → 6-BJn_aKxy.js} +22 -12
- package/build/server/chunks/6-BJn_aKxy.js.map +1 -0
- package/build/server/chunks/{7-BFDTBBBE.js → 7-CKkRKfs8.js} +3 -3
- package/build/server/chunks/7-CKkRKfs8.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CyAlYQ7a.js → _page.svelte-BWAo_bI_.js} +3 -3
- package/build/server/chunks/{_page.svelte-CyAlYQ7a.js.map → _page.svelte-BWAo_bI_.js.map} +1 -1
- package/build/server/chunks/_page.svelte-D_706hfC.js +167 -0
- package/build/server/chunks/_page.svelte-D_706hfC.js.map +1 -0
- package/build/server/chunks/_page.svelte-DpoimUgp.js +167 -0
- package/build/server/chunks/_page.svelte-DpoimUgp.js.map +1 -0
- package/build/server/chunks/_server.ts-C-Wy675T.js +19 -0
- package/build/server/chunks/_server.ts-C-Wy675T.js.map +1 -0
- package/build/server/chunks/{adapter-1jZYeJkL.js → adapter-CXNsjV1V.js} +22 -10
- package/build/server/chunks/adapter-CXNsjV1V.js.map +1 -0
- package/build/server/chunks/{client-B9o82f8t.js → client-_87vxA9R.js} +2 -2
- package/build/server/chunks/{client-B9o82f8t.js.map → client-_87vxA9R.js.map} +1 -1
- package/build/server/chunks/{zod-from-table-D-zpiAdX.js → composite-form-C6ci57iZ.js} +248 -6
- package/build/server/chunks/composite-form-C6ci57iZ.js.map +1 -0
- package/build/server/chunks/{error.svelte-CCf63hYR.js → error.svelte-CsN316oS.js} +3 -3
- package/build/server/chunks/{error.svelte-CCf63hYR.js.map → error.svelte-CsN316oS.js.map} +1 -1
- package/build/server/chunks/{hooks.server-gNQ4wkwm.js → hooks.server-O5zJccZI.js} +35 -22
- package/build/server/chunks/hooks.server-O5zJccZI.js.map +1 -0
- package/build/server/chunks/{internal-CCj4Us-1.js → internal-Cuea68jL.js} +3 -3
- package/build/server/chunks/{internal-CCj4Us-1.js.map → internal-Cuea68jL.js.map} +1 -1
- package/build/server/chunks/relation-options-Dzy9DaQG.js +87 -0
- package/build/server/chunks/relation-options-Dzy9DaQG.js.map +1 -0
- package/build/server/chunks/{widget-registry-CYJ6dCZP.js → widget-registry-CohQ23di.js} +282 -42
- package/build/server/chunks/widget-registry-CohQ23di.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/manifest.js +16 -9
- package/build/server/manifest.js.map +1 -1
- package/package.json +4 -4
- package/build/client/_app/immutable/assets/0.B45CfnXC.css +0 -2
- package/build/client/_app/immutable/assets/0.B45CfnXC.css.br +0 -0
- package/build/client/_app/immutable/chunks/1PNfJiP5.js +0 -2
- package/build/client/_app/immutable/chunks/1PNfJiP5.js.br +0 -0
- package/build/client/_app/immutable/chunks/1PNfJiP5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BatBMP3E.js +0 -4
- package/build/client/_app/immutable/chunks/BatBMP3E.js.br +0 -0
- package/build/client/_app/immutable/chunks/BatBMP3E.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DhQvJhgX.js +0 -214
- package/build/client/_app/immutable/chunks/DhQvJhgX.js.br +0 -0
- package/build/client/_app/immutable/chunks/DhQvJhgX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ds-FbTMg.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ds-FbTMg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/y9cSQmno.js +0 -1
- package/build/client/_app/immutable/chunks/y9cSQmno.js.br +0 -0
- package/build/client/_app/immutable/chunks/y9cSQmno.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CZ136DH2.js +0 -2
- package/build/client/_app/immutable/entry/app.CZ136DH2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CZ136DH2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.B2SCrcq3.js +0 -1
- package/build/client/_app/immutable/entry/start.B2SCrcq3.js.br +0 -0
- package/build/client/_app/immutable/entry/start.B2SCrcq3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DAriStmJ.js +0 -1
- package/build/client/_app/immutable/nodes/0.DAriStmJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DAriStmJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.C6AP-LKV.js +0 -1
- package/build/client/_app/immutable/nodes/1.C6AP-LKV.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.C6AP-LKV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.C3ChRVrO.js +0 -1
- package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.C2gCkFBC.js +0 -1
- package/build/client/_app/immutable/nodes/3.C2gCkFBC.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.C2gCkFBC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.BT4cE3lU.js +0 -1
- package/build/client/_app/immutable/nodes/4.BT4cE3lU.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.BT4cE3lU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.q_Qsfmij.js +0 -1
- package/build/client/_app/immutable/nodes/5.q_Qsfmij.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.q_Qsfmij.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js +0 -1
- package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.mp1zOZZv.js.br +0 -1
- package/build/client/_app/immutable/nodes/7.mp1zOZZv.js.gz +0 -0
- package/build/server/chunks/3-BfIWDc-d.js.map +0 -1
- package/build/server/chunks/4-Dqn3l8BI.js.map +0 -1
- package/build/server/chunks/5-DA-bCkUw.js.map +0 -1
- package/build/server/chunks/6-DEjxcpBy.js.map +0 -1
- package/build/server/chunks/7-BFDTBBBE.js.map +0 -1
- package/build/server/chunks/_page.svelte-CYEmRGgG.js +0 -70
- package/build/server/chunks/_page.svelte-CYEmRGgG.js.map +0 -1
- package/build/server/chunks/_page.svelte-NvCEA5JB.js +0 -70
- package/build/server/chunks/_page.svelte-NvCEA5JB.js.map +0 -1
- package/build/server/chunks/adapter-1jZYeJkL.js.map +0 -1
- package/build/server/chunks/hooks.server-gNQ4wkwm.js.map +0 -1
- package/build/server/chunks/widget-registry-CYJ6dCZP.js.map +0 -1
- package/build/server/chunks/zod-from-table-D-zpiAdX.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import 'node:module';
|
|
2
2
|
import { q as escape_html, x as getContext } from './dev-yFiAtg5l.js';
|
|
3
|
-
import './client-
|
|
3
|
+
import './client-_87vxA9R.js';
|
|
4
4
|
import 'clsx';
|
|
5
|
-
import './internal-
|
|
5
|
+
import './internal-Cuea68jL.js';
|
|
6
6
|
import './index-DBqjc0Yf.js';
|
|
7
7
|
|
|
8
8
|
//#endregion
|
|
@@ -65,4 +65,4 @@ function Error$1($$renderer, $$props) {
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
export { Error$1 as default };
|
|
68
|
-
//# sourceMappingURL=error.svelte-
|
|
68
|
+
//# sourceMappingURL=error.svelte-CsN316oS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.svelte-
|
|
1
|
+
{"version":3,"file":"error.svelte-CsN316oS.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import \"../../chunks/environment.js\";\nimport { H as escape_html, tt as getContext } from \"../../chunks/dev.js\";\nimport { c as navigating$1, s as stores } from \"../../chunks/client.js\";\nObject.defineProperty({\n\tget from() {\n\t\treturn navigating$1.current ? navigating$1.current.from : null;\n\t},\n\tget to() {\n\t\treturn navigating$1.current ? navigating$1.current.to : null;\n\t},\n\tget type() {\n\t\treturn navigating$1.current ? navigating$1.current.type : null;\n\t},\n\tget willUnload() {\n\t\treturn navigating$1.current ? navigating$1.current.willUnload : null;\n\t},\n\tget delta() {\n\t\treturn navigating$1.current ? navigating$1.current.delta : null;\n\t},\n\tget complete() {\n\t\treturn navigating$1.current ? navigating$1.current.complete : null;\n\t}\n}, \"current\", { get() {\n\tthrow new Error(\"Replace navigating.current.<prop> with navigating.<prop>\");\n} });\nstores.updated.check;\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_692b2477997906027053802989c8d7b8/node_modules/@sveltejs/kit/src/runtime/app/state/server.js\nfunction context() {\n\treturn getContext(\"__request__\");\n}\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_692b2477997906027053802989c8d7b8/node_modules/@sveltejs/kit/src/runtime/app/state/index.js\n/**\n* A read-only reactive object with information about the current page, serving several use cases:\n* - retrieving the combined `data` of all pages/layouts anywhere in your component tree (also see [loading data](https://svelte.dev/docs/kit/load))\n* - retrieving the current value of the `form` prop anywhere in your component tree (also see [form actions](https://svelte.dev/docs/kit/form-actions))\n* - retrieving the page state that was set through `goto`, `pushState` or `replaceState` (also see [goto](https://svelte.dev/docs/kit/$app-navigation#goto) and [shallow routing](https://svelte.dev/docs/kit/shallow-routing))\n* - retrieving metadata such as the URL you're on, the current route and its parameters, and whether or not there was an error\n*\n* ```svelte\n* <!--- file: +layout.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* <\\/script>\n*\n* <p>Currently at {page.url.pathname}</p>\n*\n* {#if page.error}\n* \t<span class=\"red\">Problem detected</span>\n* {:else}\n* \t<span class=\"small\">All systems operational</span>\n* {/if}\n* ```\n*\n* Changes to `page` are available exclusively with runes. (The legacy reactivity syntax will not reflect any changes)\n*\n* ```svelte\n* <!--- file: +page.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* \tconst id = $derived(page.params.id); // This will correctly update id for usage on this page\n* \t$: badId = page.params.id; // Do not use; will never update after initial load\n* <\\/script>\n* ```\n*\n* On the server, values can only be read during rendering (in other words _not_ in e.g. `load` functions). In the browser, the values can be read at any time.\n*\n* @type {import('@sveltejs/kit').Page}\n*/\nvar page = {\n\tget data() {\n\t\treturn context().page.data;\n\t},\n\tget error() {\n\t\treturn context().page.error;\n\t},\n\tget form() {\n\t\treturn context().page.form;\n\t},\n\tget params() {\n\t\treturn context().page.params;\n\t},\n\tget route() {\n\t\treturn context().page.route;\n\t},\n\tget state() {\n\t\treturn context().page.state;\n\t},\n\tget status() {\n\t\treturn context().page.status;\n\t},\n\tget url() {\n\t\treturn context().page.url;\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_692b2477997906027053802989c8d7b8/node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte\nfunction Error$1($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t$$renderer.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n\t});\n}\n//#endregion\nexport { Error$1 as default };\n"],"names":[],"mappings":";;;;;;;AA0BA;AACA;AACA,SAAS,OAAO,GAAG;AACnB,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG;AACX,CAGC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAYC,IAAI,MAAM,GAAG;AACd,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAC9B,CAAC,CAID,CAAC;AACD;AACA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC,CAAC,CAAC;AACH;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { _ as __commonJSMin, b as __require } from './internal-
|
|
1
|
+
import { _ as __commonJSMin, b as __require } from './internal-Cuea68jL.js';
|
|
2
|
+
import { e as encodeResourceId } from './resource-id-PDcQeAnc.js';
|
|
2
3
|
import { z } from 'zod';
|
|
3
4
|
import require$$0$3 from 'events';
|
|
4
5
|
import require$$1 from 'util/types';
|
|
@@ -6612,9 +6613,9 @@ var JSON_UDT = new Set(["json", "jsonb"]);
|
|
|
6612
6613
|
var URL_HINT_RE = /(?:^|_)url\b|image/i;
|
|
6613
6614
|
var TEXTAREA_HINT_RE = /html|markdown|body|content/i;
|
|
6614
6615
|
function inferWidget(input) {
|
|
6615
|
-
const { column, isForeignKey, enumValues, commentBody } = input;
|
|
6616
|
+
const { column, isForeignKey, relationSelectable, enumValues, commentBody } = input;
|
|
6616
6617
|
const udt = column.udtName;
|
|
6617
|
-
if (isForeignKey) return "relation-select";
|
|
6618
|
+
if (relationSelectable ?? isForeignKey) return "relation-select";
|
|
6618
6619
|
if (enumValues !== null && enumValues.length > 0) return "enum-select";
|
|
6619
6620
|
if (udt === "uuid") return "uuid";
|
|
6620
6621
|
if (udt === "bool") return "boolean";
|
|
@@ -6695,13 +6696,14 @@ function joinAi(ai) {
|
|
|
6695
6696
|
return ai.length > 0 ? ai.join("\n") : null;
|
|
6696
6697
|
}
|
|
6697
6698
|
function buildColumn(input) {
|
|
6698
|
-
const { column, primaryKey, foreignKeyColumns, enumValues, hints } = input;
|
|
6699
|
+
const { column, primaryKey, foreignKeyColumns, singleColumnForeignKeyColumns, enumValues, hints } = input;
|
|
6699
6700
|
const parsed = parseCommentTags(column.comment);
|
|
6700
6701
|
const isPrimaryKey = primaryKey.includes(column.name);
|
|
6701
6702
|
const isForeignKey = foreignKeyColumns.has(column.name);
|
|
6702
6703
|
const widget = hints?.widget ?? parsed.widget ?? inferWidget({
|
|
6703
6704
|
column,
|
|
6704
6705
|
isForeignKey,
|
|
6706
|
+
relationSelectable: singleColumnForeignKeyColumns.has(column.name),
|
|
6705
6707
|
enumValues,
|
|
6706
6708
|
commentBody: parsed.body
|
|
6707
6709
|
});
|
|
@@ -6728,24 +6730,30 @@ function buildRelations(table, issues) {
|
|
|
6728
6730
|
if (table.primaryKey.length > 0) uniqueColumnSets.add(table.primaryKey.slice().sort().join(","));
|
|
6729
6731
|
const relations = [];
|
|
6730
6732
|
for (const fk of table.foreignKeys) {
|
|
6731
|
-
if (fk.columns.length ===
|
|
6732
|
-
|
|
6733
|
-
|
|
6734
|
-
|
|
6735
|
-
|
|
6736
|
-
|
|
6737
|
-
|
|
6738
|
-
|
|
6739
|
-
column: fk.referencedColumns[0] ?? "id"
|
|
6740
|
-
},
|
|
6741
|
-
cardinality,
|
|
6742
|
-
meaning: fk.comment
|
|
6733
|
+
if (fk.columns.length === 0) continue;
|
|
6734
|
+
let refColumns;
|
|
6735
|
+
if (fk.referencedColumns.length === fk.columns.length) refColumns = fk.referencedColumns.slice();
|
|
6736
|
+
else if (fk.columns.length === 1 && fk.referencedColumns.length === 0) refColumns = ["id"];
|
|
6737
|
+
else {
|
|
6738
|
+
issues.push({
|
|
6739
|
+
path: `tables.${table.name}.relations.${fk.name}`,
|
|
6740
|
+
message: `Foreign key "${fk.name}" on "${table.schema}.${table.name}" has ${fk.columns.length} column(s) (${fk.columns.join(", ")}) but ${fk.referencedColumns.length} referenced column(s); the relation is skipped because the columns are not positionally aligned.`
|
|
6743
6741
|
});
|
|
6744
6742
|
continue;
|
|
6745
6743
|
}
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
|
|
6744
|
+
const fkKey = fk.columns.slice().sort().join(",");
|
|
6745
|
+
const cardinality = uniqueColumnSets.has(fkKey) ? "one-to-one" : "many-to-one";
|
|
6746
|
+
relations.push({
|
|
6747
|
+
field: fk.columns[0],
|
|
6748
|
+
fields: fk.columns.slice(),
|
|
6749
|
+
references: {
|
|
6750
|
+
schema: fk.referencedSchema,
|
|
6751
|
+
table: fk.referencedTable,
|
|
6752
|
+
column: refColumns[0],
|
|
6753
|
+
columns: refColumns
|
|
6754
|
+
},
|
|
6755
|
+
cardinality,
|
|
6756
|
+
meaning: fk.comment
|
|
6749
6757
|
});
|
|
6750
6758
|
}
|
|
6751
6759
|
return relations;
|
|
@@ -6755,11 +6763,16 @@ function buildTableContext(input) {
|
|
|
6755
6763
|
const parsed = parseCommentTags(table.comment);
|
|
6756
6764
|
const enumMap = extractCheckEnums(table.checks);
|
|
6757
6765
|
const fkColumns = /* @__PURE__ */ new Set();
|
|
6758
|
-
|
|
6766
|
+
const singleFkColumns = /* @__PURE__ */ new Set();
|
|
6767
|
+
for (const fk of table.foreignKeys) {
|
|
6768
|
+
for (const col of fk.columns) fkColumns.add(col);
|
|
6769
|
+
if (fk.columns.length === 1) singleFkColumns.add(fk.columns[0]);
|
|
6770
|
+
}
|
|
6759
6771
|
const columns = table.columns.map((c) => buildColumn({
|
|
6760
6772
|
column: c,
|
|
6761
6773
|
primaryKey: table.primaryKey,
|
|
6762
6774
|
foreignKeyColumns: fkColumns,
|
|
6775
|
+
singleColumnForeignKeyColumns: singleFkColumns,
|
|
6763
6776
|
enumValues: enumMap.get(c.name) ?? null,
|
|
6764
6777
|
hints: hints?.columns?.[c.name]
|
|
6765
6778
|
}));
|
|
@@ -14036,7 +14049,7 @@ var FkRowCache = class {
|
|
|
14036
14049
|
}
|
|
14037
14050
|
};
|
|
14038
14051
|
function makeKey(qualifiedName, id) {
|
|
14039
|
-
return `${qualifiedName}:${
|
|
14052
|
+
return `${qualifiedName}:${encodeResourceId(id)}`;
|
|
14040
14053
|
}
|
|
14041
14054
|
//#endregion
|
|
14042
14055
|
//#region src/lib/server/schema-cache.ts
|
|
@@ -14089,4 +14102,4 @@ var handle = async ({ event, resolve }) => {
|
|
|
14089
14102
|
};
|
|
14090
14103
|
|
|
14091
14104
|
export { handle };
|
|
14092
|
-
//# sourceMappingURL=hooks.server-
|
|
14105
|
+
//# sourceMappingURL=hooks.server-O5zJccZI.js.map
|