@kozou/svelte-ui 0.2.1 → 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 +28 -8
- 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/{nlrTAAdT.js → DdJtfEcD.js} +3 -3
- 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/{CNJ9qNKc.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.zir-jrfl.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-BYbo_Ryk.js → 1-B5tolhxt.js} +3 -3
- package/build/server/chunks/{1-BYbo_Ryk.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-C50aWcyD.js → 3-DfrqlU53.js} +5 -5
- package/build/server/chunks/3-DfrqlU53.js.map +1 -0
- package/build/server/chunks/{4-C8kXW-9J.js → 4-D6Y076hP.js} +53 -8
- package/build/server/chunks/4-D6Y076hP.js.map +1 -0
- package/build/server/chunks/5-DOvvx6kj.js +85 -0
- package/build/server/chunks/5-DOvvx6kj.js.map +1 -0
- package/build/server/chunks/6-BJn_aKxy.js +79 -0
- package/build/server/chunks/6-BJn_aKxy.js.map +1 -0
- package/build/server/chunks/{7-BAhFrC8Z.js → 7-CKkRKfs8.js} +5 -5
- package/build/server/chunks/7-CKkRKfs8.js.map +1 -0
- package/build/server/chunks/{ListTable-BxIw_RVF.js → ListTable-CkfkQNdN.js} +3 -7
- package/build/server/chunks/ListTable-CkfkQNdN.js.map +1 -0
- package/build/server/chunks/{_page.svelte-hNlfE_-R.js → _page.svelte-BWAo_bI_.js} +3 -3
- package/build/server/chunks/{_page.svelte-hNlfE_-R.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-CUhqt56V.js → _page.svelte-Dabtpyl9.js} +3 -2
- package/build/server/chunks/{_page.svelte-CUhqt56V.js.map → _page.svelte-Dabtpyl9.js.map} +1 -1
- 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/{_page.svelte-CRH5Ib1y.js → _page.svelte-j2Tqrjlb.js} +3 -2
- package/build/server/chunks/{_page.svelte-CRH5Ib1y.js.map → _page.svelte-j2Tqrjlb.js.map} +1 -1
- 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-BGid8Q1v.js → adapter-CXNsjV1V.js} +97 -14
- package/build/server/chunks/adapter-CXNsjV1V.js.map +1 -0
- package/build/server/chunks/{client-PK7K0DFj.js → client-_87vxA9R.js} +2 -2
- package/build/server/chunks/{client-PK7K0DFj.js.map → client-_87vxA9R.js.map} +1 -1
- package/build/server/chunks/{zod-from-table-CCy3rZQi.js → composite-form-C6ci57iZ.js} +248 -6
- package/build/server/chunks/composite-form-C6ci57iZ.js.map +1 -0
- package/build/server/chunks/{error.svelte-CKswtdNj.js → error.svelte-CsN316oS.js} +3 -3
- package/build/server/chunks/{error.svelte-CKswtdNj.js.map → error.svelte-CsN316oS.js.map} +1 -1
- package/build/server/chunks/{hooks.server-_7e7MfY9.js → hooks.server-O5zJccZI.js} +36 -14
- package/build/server/chunks/hooks.server-O5zJccZI.js.map +1 -0
- package/build/server/chunks/{internal-BERZdLJL.js → internal-Cuea68jL.js} +3 -3
- package/build/server/chunks/{internal-BERZdLJL.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/resource-id-PDcQeAnc.js +41 -0
- package/build/server/chunks/resource-id-PDcQeAnc.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 +5 -5
- 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/CLOztVuN.js +0 -214
- package/build/client/_app/immutable/chunks/CLOztVuN.js.br +0 -0
- package/build/client/_app/immutable/chunks/CLOztVuN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CNJ9qNKc.js.br +0 -0
- package/build/client/_app/immutable/chunks/CNJ9qNKc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cj8LiudX.js +0 -1
- package/build/client/_app/immutable/chunks/Cj8LiudX.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cj8LiudX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/nlrTAAdT.js.br +0 -0
- package/build/client/_app/immutable/chunks/nlrTAAdT.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.Bv8sjgxu.js +0 -2
- package/build/client/_app/immutable/entry/app.Bv8sjgxu.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Bv8sjgxu.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.mcTncYkV.js +0 -1
- package/build/client/_app/immutable/entry/start.mcTncYkV.js.br +0 -0
- package/build/client/_app/immutable/entry/start.mcTncYkV.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.B_iETXYV.js +0 -1
- package/build/client/_app/immutable/nodes/1.B_iETXYV.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.B_iETXYV.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.CL9ksnmY.js +0 -1
- package/build/client/_app/immutable/nodes/3.CL9ksnmY.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CL9ksnmY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.wRTS68Ip.js +0 -1
- package/build/client/_app/immutable/nodes/4.wRTS68Ip.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.wRTS68Ip.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.sOvoAy14.js +0 -1
- package/build/client/_app/immutable/nodes/5.sOvoAy14.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.sOvoAy14.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.QhxyVDh4.js +0 -1
- package/build/client/_app/immutable/nodes/6.QhxyVDh4.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.QhxyVDh4.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.zir-jrfl.js.br +0 -4
- package/build/client/_app/immutable/nodes/7.zir-jrfl.js.gz +0 -0
- package/build/server/chunks/3-C50aWcyD.js.map +0 -1
- package/build/server/chunks/4-C8kXW-9J.js.map +0 -1
- package/build/server/chunks/5-D-0L-X8y.js +0 -69
- package/build/server/chunks/5-D-0L-X8y.js.map +0 -1
- package/build/server/chunks/6-D-SbXeTH.js +0 -70
- package/build/server/chunks/6-D-SbXeTH.js.map +0 -1
- package/build/server/chunks/7-BAhFrC8Z.js.map +0 -1
- package/build/server/chunks/ListTable-BxIw_RVF.js.map +0 -1
- package/build/server/chunks/_page.svelte-6neDahmr.js +0 -70
- package/build/server/chunks/_page.svelte-6neDahmr.js.map +0 -1
- package/build/server/chunks/_page.svelte-rW7yzEet.js +0 -70
- package/build/server/chunks/_page.svelte-rW7yzEet.js.map +0 -1
- package/build/server/chunks/adapter-BGid8Q1v.js.map +0 -1
- package/build/server/chunks/hooks.server-_7e7MfY9.js.map +0 -1
- package/build/server/chunks/widget-registry-CYJ6dCZP.js.map +0 -1
- package/build/server/chunks/zod-from-table-CCy3rZQi.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
|
});
|
|
@@ -6722,35 +6724,55 @@ function buildColumn(input) {
|
|
|
6722
6724
|
readonly: hints?.readonly ?? false
|
|
6723
6725
|
};
|
|
6724
6726
|
}
|
|
6725
|
-
function buildRelations(table) {
|
|
6727
|
+
function buildRelations(table, issues) {
|
|
6726
6728
|
const uniqueColumnSets = /* @__PURE__ */ new Set();
|
|
6727
6729
|
for (const idx of table.indexes) if (idx.unique) uniqueColumnSets.add(idx.columns.slice().sort().join(","));
|
|
6728
6730
|
if (table.primaryKey.length > 0) uniqueColumnSets.add(table.primaryKey.slice().sort().join(","));
|
|
6729
|
-
|
|
6731
|
+
const relations = [];
|
|
6732
|
+
for (const fk of table.foreignKeys) {
|
|
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.`
|
|
6741
|
+
});
|
|
6742
|
+
continue;
|
|
6743
|
+
}
|
|
6730
6744
|
const fkKey = fk.columns.slice().sort().join(",");
|
|
6731
6745
|
const cardinality = uniqueColumnSets.has(fkKey) ? "one-to-one" : "many-to-one";
|
|
6732
|
-
|
|
6746
|
+
relations.push({
|
|
6733
6747
|
field: fk.columns[0],
|
|
6748
|
+
fields: fk.columns.slice(),
|
|
6734
6749
|
references: {
|
|
6735
6750
|
schema: fk.referencedSchema,
|
|
6736
6751
|
table: fk.referencedTable,
|
|
6737
|
-
column:
|
|
6752
|
+
column: refColumns[0],
|
|
6753
|
+
columns: refColumns
|
|
6738
6754
|
},
|
|
6739
6755
|
cardinality,
|
|
6740
6756
|
meaning: fk.comment
|
|
6741
|
-
};
|
|
6742
|
-
}
|
|
6757
|
+
});
|
|
6758
|
+
}
|
|
6759
|
+
return relations;
|
|
6743
6760
|
}
|
|
6744
6761
|
function buildTableContext(input) {
|
|
6745
6762
|
const { table, hints, issues, knownTables } = input;
|
|
6746
6763
|
const parsed = parseCommentTags(table.comment);
|
|
6747
6764
|
const enumMap = extractCheckEnums(table.checks);
|
|
6748
6765
|
const fkColumns = /* @__PURE__ */ new Set();
|
|
6749
|
-
|
|
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
|
+
}
|
|
6750
6771
|
const columns = table.columns.map((c) => buildColumn({
|
|
6751
6772
|
column: c,
|
|
6752
6773
|
primaryKey: table.primaryKey,
|
|
6753
6774
|
foreignKeyColumns: fkColumns,
|
|
6775
|
+
singleColumnForeignKeyColumns: singleFkColumns,
|
|
6754
6776
|
enumValues: enumMap.get(c.name) ?? null,
|
|
6755
6777
|
hints: hints?.columns?.[c.name]
|
|
6756
6778
|
}));
|
|
@@ -6761,7 +6783,7 @@ function buildTableContext(input) {
|
|
|
6761
6783
|
message: `UIHints column "${hintCol}" does not exist on ${table.name}`
|
|
6762
6784
|
});
|
|
6763
6785
|
}
|
|
6764
|
-
const relations = buildRelations(table);
|
|
6786
|
+
const relations = buildRelations(table, issues);
|
|
6765
6787
|
for (const rel of relations) {
|
|
6766
6788
|
const refKey = `${rel.references.schema}.${rel.references.table}`;
|
|
6767
6789
|
if (!knownTables.has(refKey)) issues.push({
|
|
@@ -14027,7 +14049,7 @@ var FkRowCache = class {
|
|
|
14027
14049
|
}
|
|
14028
14050
|
};
|
|
14029
14051
|
function makeKey(qualifiedName, id) {
|
|
14030
|
-
return `${qualifiedName}:${
|
|
14052
|
+
return `${qualifiedName}:${encodeResourceId(id)}`;
|
|
14031
14053
|
}
|
|
14032
14054
|
//#endregion
|
|
14033
14055
|
//#region src/lib/server/schema-cache.ts
|
|
@@ -14080,4 +14102,4 @@ var handle = async ({ event, resolve }) => {
|
|
|
14080
14102
|
};
|
|
14081
14103
|
|
|
14082
14104
|
export { handle };
|
|
14083
|
-
//# sourceMappingURL=hooks.server-
|
|
14105
|
+
//# sourceMappingURL=hooks.server-O5zJccZI.js.map
|