@fragno-dev/forms 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.
@@ -1,6 +1,6 @@
1
1
  import * as zod1095 from "zod";
2
2
  import * as zod_v4_core67 from "zod/v4/core";
3
- import * as _fragno_dev_core_api20 from "@fragno-dev/core/api";
3
+ import * as _fragno_dev_core_api19 from "@fragno-dev/core/api";
4
4
  import * as _standard_schema_spec47 from "@standard-schema/spec";
5
5
  import { FragnoPublicClientConfig } from "@fragno-dev/core/client";
6
6
  import * as _fragno_dev_core_svelte0 from "@fragno-dev/core/svelte";
@@ -24,7 +24,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
24
24
  createdAt: zod1095.ZodDate;
25
25
  updatedAt: zod1095.ZodDate;
26
26
  }, zod_v4_core67.$strip>, "NOT_FOUND", string>;
27
- useSubmitForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api20.NonGetHTTPMethod, "/:slug/submit", zod1095.ZodObject<{
27
+ useSubmitForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/:slug/submit", zod1095.ZodObject<{
28
28
  data: zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>;
29
29
  securityToken: zod1095.ZodOptional<zod1095.ZodString>;
30
30
  }, zod_v4_core67.$strip> | undefined, zod1095.ZodString | undefined, "NOT_FOUND" | "VALIDATION_ERROR" | "FORM_NOT_OPEN", string>;
@@ -62,19 +62,19 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
62
62
  createdAt: zod1095.ZodDate;
63
63
  updatedAt: zod1095.ZodDate;
64
64
  }, zod_v4_core67.$strip>, "NOT_FOUND", string>;
65
- useCreateForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api20.NonGetHTTPMethod, "/admin/forms", _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
65
+ useCreateForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/forms", zod1095.ZodObject<{
66
+ title: zod1095.ZodString;
67
+ description: zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>;
68
+ slug: zod1095.ZodString;
66
69
  status: zod1095.ZodEnum<{
67
70
  draft: "draft";
68
71
  open: "open";
69
72
  closed: "closed";
70
73
  static: "static";
71
74
  }>;
72
- title: zod1095.ZodString;
73
- description: zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>;
74
- slug: zod1095.ZodString;
75
75
  dataSchema: zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>;
76
76
  uiSchema: zod1095.ZodOptional<zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>>;
77
- }, zod_v4_core67.$strip> | undefined, zod1095.ZodString | zod1095.ZodArray<zod1095.ZodObject<{
77
+ }, zod_v4_core67.$strip> | _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, zod1095.ZodString | zod1095.ZodArray<zod1095.ZodObject<{
78
78
  id: zod1095.ZodString;
79
79
  title: zod1095.ZodString;
80
80
  description: zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>;
@@ -91,19 +91,19 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
91
91
  createdAt: zod1095.ZodDate;
92
92
  updatedAt: zod1095.ZodDate;
93
93
  }, zod_v4_core67.$strip>> | undefined, string, string>;
94
- useUpdateForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api20.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
94
+ useUpdateForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/forms/:id", zod1095.ZodObject<{
95
+ title: zod1095.ZodOptional<zod1095.ZodString>;
96
+ description: zod1095.ZodOptional<zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>>;
97
+ slug: zod1095.ZodOptional<zod1095.ZodString>;
95
98
  status: zod1095.ZodOptional<zod1095.ZodEnum<{
96
99
  draft: "draft";
97
100
  open: "open";
98
101
  closed: "closed";
99
102
  static: "static";
100
103
  }>>;
101
- title: zod1095.ZodOptional<zod1095.ZodString>;
102
- description: zod1095.ZodOptional<zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>>;
103
- slug: zod1095.ZodOptional<zod1095.ZodString>;
104
104
  dataSchema: zod1095.ZodOptional<zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>>;
105
105
  uiSchema: zod1095.ZodOptional<zod1095.ZodOptional<zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>>>;
106
- }, zod_v4_core67.$strip> | undefined, _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
106
+ }, zod_v4_core67.$strip> | _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, zod1095.ZodObject<{
107
107
  id: zod1095.ZodString;
108
108
  title: zod1095.ZodString;
109
109
  description: zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>;
@@ -119,20 +119,20 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
119
119
  version: zod1095.ZodNumber;
120
120
  createdAt: zod1095.ZodDate;
121
121
  updatedAt: zod1095.ZodDate;
122
- }, zod_v4_core67.$strip> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
123
- useDeleteForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api20.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
122
+ }, zod_v4_core67.$strip> | _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
123
+ useDeleteForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/forms/:id", zod1095.ZodObject<{
124
+ title: zod1095.ZodOptional<zod1095.ZodString>;
125
+ description: zod1095.ZodOptional<zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>>;
126
+ slug: zod1095.ZodOptional<zod1095.ZodString>;
124
127
  status: zod1095.ZodOptional<zod1095.ZodEnum<{
125
128
  draft: "draft";
126
129
  open: "open";
127
130
  closed: "closed";
128
131
  static: "static";
129
132
  }>>;
130
- title: zod1095.ZodOptional<zod1095.ZodString>;
131
- description: zod1095.ZodOptional<zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>>;
132
- slug: zod1095.ZodOptional<zod1095.ZodString>;
133
133
  dataSchema: zod1095.ZodOptional<zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>>;
134
134
  uiSchema: zod1095.ZodOptional<zod1095.ZodOptional<zod1095.ZodRecord<zod1095.ZodString, zod1095.ZodUnknown>>>;
135
- }, zod_v4_core67.$strip> | undefined, _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
135
+ }, zod_v4_core67.$strip> | _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, zod1095.ZodObject<{
136
136
  id: zod1095.ZodString;
137
137
  title: zod1095.ZodString;
138
138
  description: zod1095.ZodOptional<zod1095.ZodNullable<zod1095.ZodString>>;
@@ -148,7 +148,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
148
148
  version: zod1095.ZodNumber;
149
149
  createdAt: zod1095.ZodDate;
150
150
  updatedAt: zod1095.ZodDate;
151
- }, zod_v4_core67.$strip> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
151
+ }, zod_v4_core67.$strip> | _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
152
152
  useSubmissions: _fragno_dev_core_svelte0.FragnoSvelteHook<"GET", "/admin/forms/:id/submissions", zod1095.ZodArray<zod1095.ZodObject<{
153
153
  id: zod1095.ZodString;
154
154
  formId: zod1095.ZodNullable<zod1095.ZodString>;
@@ -167,7 +167,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
167
167
  ip: zod1095.ZodNullable<zod1095.ZodString>;
168
168
  userAgent: zod1095.ZodNullable<zod1095.ZodString>;
169
169
  }, zod_v4_core67.$strip>, "NOT_FOUND", string>;
170
- useDeleteSubmission: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api20.NonGetHTTPMethod, "/admin/submissions/:id", _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
170
+ useDeleteSubmission: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/submissions/:id", _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec47.StandardSchemaV1<unknown, unknown> | zod1095.ZodObject<{
171
171
  id: zod1095.ZodString;
172
172
  formId: zod1095.ZodNullable<zod1095.ZodString>;
173
173
  formVersion: zod1095.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"svelte.d.ts","names":[],"sources":["../../../../src/client/svelte.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAIgB,iBAAA,UAA0B;;QAA6B,OAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
1
+ {"version":3,"file":"svelte.d.ts","names":[],"sources":["../../../../src/client/svelte.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAKgB,iBAAA,UAA0B;;QAA6B,OAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
@@ -1,6 +1,6 @@
1
- import { atom, createFormsClients, isGetHook, isMutatorHook, isStore } from "../src-BBaSaf29.js";
2
- import { get, writable } from "svelte/store";
1
+ import { atom, createFormsClients, isGetHook, isMutatorHook, isStore } from "../src-BNcd9ogF.js";
3
2
  import { onDestroy } from "svelte";
3
+ import { get, writable } from "svelte/store";
4
4
 
5
5
  //#region ../fragno/dist/client/client.svelte.js
6
6
  function isReadable(value) {
@@ -99,7 +99,15 @@ function createSvelteMutator(hook) {
99
99
  };
100
100
  }
101
101
  function createSvelteStore(hook) {
102
- return hook.obj;
102
+ if ("obj" in hook) return hook.obj;
103
+ return (...args) => {
104
+ const value = hook.factory(...args);
105
+ const disposer = value[Symbol.dispose];
106
+ if (typeof disposer === "function") onDestroy(() => {
107
+ disposer.call(value);
108
+ });
109
+ return value;
110
+ };
103
111
  }
104
112
  function useFragno(clientObj) {
105
113
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"svelte.js","names":["isGetHook","isMutatorHook","isStore","atom","get","writable","onDestroy","isReadable","value","isCallable","readableToAtom","a","subscribe","newVal","set","runeToAtom","$effect","createSvelteHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","updatedStoreValue","createSvelteMutator","mutatorStore","storeValue","mutate","args","body","createSvelteStore","obj","useFragno","clientObj","result","prototype","hasOwnProperty","call","useFragno","createFormsClients","FragnoPublicClientConfig","createFormsClient","config"],"sources":["../../../../fragno/dist/client/client.svelte.js","../../../src/client/svelte.ts"],"sourcesContent":["import { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { get, writable } from \"svelte/store\";\nimport { onDestroy } from \"svelte\";\n\n//#region src/client/client.svelte.ts\nfunction isReadable(value) {\n\treturn typeof value === \"object\" && value !== null && \"subscribe\" in value;\n}\nfunction isCallable(value) {\n\treturn typeof value === \"function\";\n}\nfunction readableToAtom(value) {\n\tconst a = atom(get(value));\n\tvalue.subscribe((newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction runeToAtom(value) {\n\tconst a = atom(value());\n\t$effect(() => {\n\t\ta.set(value());\n\t});\n\treturn a;\n}\nfunction createSvelteHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) pathParams[key] = runeToAtom(v);\n\t\t\telse pathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) queryParams[key] = runeToAtom(v);\n\t\t\telse queryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(false);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.set(updatedStoreValue.data);\n\t\t\tloading.set(updatedStoreValue.loading);\n\t\t\terror.set(updatedStoreValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createSvelteMutator(hook) {\n\treturn () => {\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(void 0);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = hook.mutatorStore.subscribe((storeValue) => {\n\t\t\tdata.set(storeValue.data);\n\t\t\tloading.set(storeValue.loading);\n\t\t\terror.set(storeValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\treturn hook.mutatorStore.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading,\n\t\t\terror,\n\t\t\tdata\n\t\t};\n\t};\n}\nfunction createSvelteStore(hook) {\n\treturn hook.obj;\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createSvelteHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createSvelteStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { createSvelteStore, readableToAtom, runeToAtom, useFragno };\n//# sourceMappingURL=client.svelte.js.map","import { useFragno } from \"@fragno-dev/core/svelte\";\nimport { createFormsClients } from \"..\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\n\nexport function createFormsClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createFormsClients(config));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"svelte.js","names":["isGetHook","isMutatorHook","isStore","atom","onDestroy","get","writable","isReadable","value","isCallable","readableToAtom","a","subscribe","newVal","set","runeToAtom","$effect","createSvelteHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","updatedStoreValue","createSvelteMutator","mutatorStore","storeValue","mutate","args","body","createSvelteStore","obj","factory","disposer","Symbol","dispose","call","useFragno","clientObj","result","prototype","hasOwnProperty","FragnoPublicClientConfig","useFragno","createFormsClients","createFormsClient","config"],"sources":["../../../../fragno/dist/client/client.svelte.js","../../../src/client/svelte.ts"],"sourcesContent":["import { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { onDestroy } from \"svelte\";\nimport { get, writable } from \"svelte/store\";\n\n//#region src/client/client.svelte.ts\nfunction isReadable(value) {\n\treturn typeof value === \"object\" && value !== null && \"subscribe\" in value;\n}\nfunction isCallable(value) {\n\treturn typeof value === \"function\";\n}\nfunction readableToAtom(value) {\n\tconst a = atom(get(value));\n\tvalue.subscribe((newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction runeToAtom(value) {\n\tconst a = atom(value());\n\t$effect(() => {\n\t\ta.set(value());\n\t});\n\treturn a;\n}\nfunction createSvelteHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) pathParams[key] = runeToAtom(v);\n\t\t\telse pathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tif (isCallable(v)) queryParams[key] = runeToAtom(v);\n\t\t\telse queryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(false);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.set(updatedStoreValue.data);\n\t\t\tloading.set(updatedStoreValue.loading);\n\t\t\terror.set(updatedStoreValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createSvelteMutator(hook) {\n\treturn () => {\n\t\tconst data = writable(void 0);\n\t\tconst loading = writable(void 0);\n\t\tconst error = writable(void 0);\n\t\tconst unsubscribe = hook.mutatorStore.subscribe((storeValue) => {\n\t\t\tdata.set(storeValue.data);\n\t\t\tloading.set(storeValue.loading);\n\t\t\terror.set(storeValue.error);\n\t\t});\n\t\tonDestroy(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isReadable(v) ? readableToAtom(v) : v;\n\t\t\t}\n\t\t\treturn hook.mutatorStore.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading,\n\t\t\terror,\n\t\t\tdata\n\t\t};\n\t};\n}\nfunction createSvelteStore(hook) {\n\tif (\"obj\" in hook) return hook.obj;\n\treturn ((...args) => {\n\t\tconst value = hook.factory(...args);\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\") onDestroy(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn value;\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createSvelteHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createSvelteStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { createSvelteStore, readableToAtom, runeToAtom, useFragno };\n//# sourceMappingURL=client.svelte.js.map","import type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport { useFragno } from \"@fragno-dev/core/svelte\";\n\nimport { createFormsClients } from \"..\";\n\nexport function createFormsClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createFormsClients(config));\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as zod1307 from "zod";
2
2
  import * as zod_v4_core80 from "zod/v4/core";
3
- import * as _fragno_dev_core_api25 from "@fragno-dev/core/api";
3
+ import * as _fragno_dev_core_api24 from "@fragno-dev/core/api";
4
4
  import * as _standard_schema_spec54 from "@standard-schema/spec";
5
5
  import { FragnoPublicClientConfig } from "@fragno-dev/core/client";
6
6
  import * as _fragno_dev_core_vanilla0 from "@fragno-dev/core/vanilla";
@@ -24,7 +24,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
24
24
  createdAt: zod1307.ZodDate;
25
25
  updatedAt: zod1307.ZodDate;
26
26
  }, zod_v4_core80.$strip>, "NOT_FOUND", string>;
27
- useSubmitForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api25.NonGetHTTPMethod, "/:slug/submit", zod1307.ZodObject<{
27
+ useSubmitForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api24.NonGetHTTPMethod, "/:slug/submit", zod1307.ZodObject<{
28
28
  data: zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>;
29
29
  securityToken: zod1307.ZodOptional<zod1307.ZodString>;
30
30
  }, zod_v4_core80.$strip> | undefined, zod1307.ZodString | undefined, "NOT_FOUND" | "VALIDATION_ERROR" | "FORM_NOT_OPEN", string>;
@@ -62,19 +62,19 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
62
62
  createdAt: zod1307.ZodDate;
63
63
  updatedAt: zod1307.ZodDate;
64
64
  }, zod_v4_core80.$strip>, "NOT_FOUND", string>;
65
- useCreateForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api25.NonGetHTTPMethod, "/admin/forms", _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
65
+ useCreateForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api24.NonGetHTTPMethod, "/admin/forms", zod1307.ZodObject<{
66
+ title: zod1307.ZodString;
67
+ description: zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>;
68
+ slug: zod1307.ZodString;
66
69
  status: zod1307.ZodEnum<{
67
70
  draft: "draft";
68
71
  open: "open";
69
72
  closed: "closed";
70
73
  static: "static";
71
74
  }>;
72
- title: zod1307.ZodString;
73
- description: zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>;
74
- slug: zod1307.ZodString;
75
75
  dataSchema: zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>;
76
76
  uiSchema: zod1307.ZodOptional<zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>>;
77
- }, zod_v4_core80.$strip> | undefined, zod1307.ZodString | zod1307.ZodArray<zod1307.ZodObject<{
77
+ }, zod_v4_core80.$strip> | _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, zod1307.ZodString | zod1307.ZodArray<zod1307.ZodObject<{
78
78
  id: zod1307.ZodString;
79
79
  title: zod1307.ZodString;
80
80
  description: zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>;
@@ -91,19 +91,19 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
91
91
  createdAt: zod1307.ZodDate;
92
92
  updatedAt: zod1307.ZodDate;
93
93
  }, zod_v4_core80.$strip>> | undefined, string, string>;
94
- useUpdateForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api25.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
94
+ useUpdateForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api24.NonGetHTTPMethod, "/admin/forms/:id", zod1307.ZodObject<{
95
+ title: zod1307.ZodOptional<zod1307.ZodString>;
96
+ description: zod1307.ZodOptional<zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>>;
97
+ slug: zod1307.ZodOptional<zod1307.ZodString>;
95
98
  status: zod1307.ZodOptional<zod1307.ZodEnum<{
96
99
  draft: "draft";
97
100
  open: "open";
98
101
  closed: "closed";
99
102
  static: "static";
100
103
  }>>;
101
- title: zod1307.ZodOptional<zod1307.ZodString>;
102
- description: zod1307.ZodOptional<zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>>;
103
- slug: zod1307.ZodOptional<zod1307.ZodString>;
104
104
  dataSchema: zod1307.ZodOptional<zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>>;
105
105
  uiSchema: zod1307.ZodOptional<zod1307.ZodOptional<zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>>>;
106
- }, zod_v4_core80.$strip> | undefined, _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
106
+ }, zod_v4_core80.$strip> | _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, zod1307.ZodObject<{
107
107
  id: zod1307.ZodString;
108
108
  title: zod1307.ZodString;
109
109
  description: zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>;
@@ -119,20 +119,20 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
119
119
  version: zod1307.ZodNumber;
120
120
  createdAt: zod1307.ZodDate;
121
121
  updatedAt: zod1307.ZodDate;
122
- }, zod_v4_core80.$strip> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
123
- useDeleteForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api25.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
122
+ }, zod_v4_core80.$strip> | _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
123
+ useDeleteForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api24.NonGetHTTPMethod, "/admin/forms/:id", zod1307.ZodObject<{
124
+ title: zod1307.ZodOptional<zod1307.ZodString>;
125
+ description: zod1307.ZodOptional<zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>>;
126
+ slug: zod1307.ZodOptional<zod1307.ZodString>;
124
127
  status: zod1307.ZodOptional<zod1307.ZodEnum<{
125
128
  draft: "draft";
126
129
  open: "open";
127
130
  closed: "closed";
128
131
  static: "static";
129
132
  }>>;
130
- title: zod1307.ZodOptional<zod1307.ZodString>;
131
- description: zod1307.ZodOptional<zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>>;
132
- slug: zod1307.ZodOptional<zod1307.ZodString>;
133
133
  dataSchema: zod1307.ZodOptional<zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>>;
134
134
  uiSchema: zod1307.ZodOptional<zod1307.ZodOptional<zod1307.ZodRecord<zod1307.ZodString, zod1307.ZodUnknown>>>;
135
- }, zod_v4_core80.$strip> | undefined, _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
135
+ }, zod_v4_core80.$strip> | _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, zod1307.ZodObject<{
136
136
  id: zod1307.ZodString;
137
137
  title: zod1307.ZodString;
138
138
  description: zod1307.ZodOptional<zod1307.ZodNullable<zod1307.ZodString>>;
@@ -148,7 +148,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
148
148
  version: zod1307.ZodNumber;
149
149
  createdAt: zod1307.ZodDate;
150
150
  updatedAt: zod1307.ZodDate;
151
- }, zod_v4_core80.$strip> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
151
+ }, zod_v4_core80.$strip> | _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
152
152
  useSubmissions: _fragno_dev_core_vanilla0.FragnoVanillaListeners<"GET", "/admin/forms/:id/submissions", zod1307.ZodArray<zod1307.ZodObject<{
153
153
  id: zod1307.ZodString;
154
154
  formId: zod1307.ZodNullable<zod1307.ZodString>;
@@ -167,7 +167,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
167
167
  ip: zod1307.ZodNullable<zod1307.ZodString>;
168
168
  userAgent: zod1307.ZodNullable<zod1307.ZodString>;
169
169
  }, zod_v4_core80.$strip>, "NOT_FOUND", string>;
170
- useDeleteSubmission: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api25.NonGetHTTPMethod, "/admin/submissions/:id", _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
170
+ useDeleteSubmission: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api24.NonGetHTTPMethod, "/admin/submissions/:id", _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec54.StandardSchemaV1<unknown, unknown> | zod1307.ZodObject<{
171
171
  id: zod1307.ZodString;
172
172
  formId: zod1307.ZodNullable<zod1307.ZodString>;
173
173
  formVersion: zod1307.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"vanilla.d.ts","names":[],"sources":["../../../../src/client/vanilla.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAIgB,iBAAA,UAA0B;;QAA6B,OAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
1
+ {"version":3,"file":"vanilla.d.ts","names":[],"sources":["../../../../src/client/vanilla.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAKgB,iBAAA,UAA0B;;QAA6B,OAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
@@ -1,4 +1,4 @@
1
- import { createFormsClients, isGetHook, isMutatorHook } from "../src-BBaSaf29.js";
1
+ import { createFormsClients, isGetHook, isMutatorHook, isStore } from "../src-BNcd9ogF.js";
2
2
 
3
3
  //#region ../fragno/dist/util/async.js
4
4
  /**
@@ -116,6 +116,25 @@ function createVanillaMutator(hook) {
116
116
  };
117
117
  };
118
118
  }
119
+ const getStoreDisposer = (value) => {
120
+ const disposer = value[Symbol.dispose];
121
+ return typeof disposer === "function" ? disposer.bind(value) : void 0;
122
+ };
123
+ function createVanillaStore(hook) {
124
+ if ("obj" in hook) return hook.obj;
125
+ return (...args) => {
126
+ const value = hook.factory(...args);
127
+ const disposer = getStoreDisposer(value);
128
+ if (!disposer) return value;
129
+ Object.defineProperty(value, "destroy", {
130
+ value: disposer,
131
+ enumerable: false,
132
+ configurable: true,
133
+ writable: true
134
+ });
135
+ return value;
136
+ };
137
+ }
119
138
  function useFragno(clientObj) {
120
139
  const result = {};
121
140
  for (const key in clientObj) {
@@ -123,6 +142,7 @@ function useFragno(clientObj) {
123
142
  const hook = clientObj[key];
124
143
  if (isGetHook(hook)) result[key] = createVanillaListeners(hook);
125
144
  else if (isMutatorHook(hook)) result[key] = createVanillaMutator(hook);
145
+ else if (isStore(hook)) result[key] = createVanillaStore(hook);
126
146
  else result[key] = hook;
127
147
  }
128
148
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"vanilla.js","names":["createAsyncIteratorFromCallback","subscribe","queue","unsubscribe","resolveNext","unsubscribeFunc","value","done","push","length","shift","Promise","resolve","result","isGetHook","isMutatorHook","createAsyncIteratorFromCallback","createVanillaListeners","hook","path","query","store","listen","callback","loading","error","data","subscribe","refetch","revalidate","get","Symbol","asyncIterator","createVanillaMutator","mutatorStore","value","mutate","body","useFragno","clientObj","result","key","Object","prototype","hasOwnProperty","call","useFragno","createFormsClients","FragnoPublicClientConfig","createFormsClient","config"],"sources":["../../../../fragno/dist/util/async.js","../../../../fragno/dist/client/vanilla.js","../../../src/client/vanilla.ts"],"sourcesContent":["//#region src/util/async.ts\n/**\n* Creates an async iterator from a subscribe function that follows the observable pattern.\n*\n* @template T The type of values produced by the store.\n* @param subscribe A function that subscribes to store updates. It receives a callback to be\n* called on each update, and returns an unsubscribe function.\n* @returns An async generator that yields store values as they are produced.\n*/\nfunction createAsyncIteratorFromCallback(subscribe) {\n\tconst queue = [];\n\tlet unsubscribe = null;\n\tlet resolveNext = null;\n\tconst unsubscribeFunc = subscribe((value) => {\n\t\tif (resolveNext) {\n\t\t\tresolveNext({\n\t\t\t\tvalue,\n\t\t\t\tdone: false\n\t\t\t});\n\t\t\tresolveNext = null;\n\t\t} else queue.push(value);\n\t});\n\tif (typeof unsubscribeFunc === \"function\") unsubscribe = unsubscribeFunc;\n\treturn (async function* () {\n\t\ttry {\n\t\t\twhile (true) if (queue.length > 0) yield queue.shift();\n\t\t\telse yield await new Promise((resolve) => {\n\t\t\t\tresolveNext = (result) => {\n\t\t\t\t\tif (!result.done) resolve(result.value);\n\t\t\t\t};\n\t\t\t});\n\t\t} finally {\n\t\t\tif (unsubscribe) unsubscribe();\n\t\t}\n\t})();\n}\n\n//#endregion\nexport { createAsyncIteratorFromCallback };\n//# sourceMappingURL=async.js.map","import { isGetHook, isMutatorHook } from \"./client.js\";\nimport { createAsyncIteratorFromCallback } from \"../util/async.js\";\n\n//#region src/client/vanilla.ts\nfunction createVanillaListeners(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst store = hook.store({\n\t\t\tpath,\n\t\t\tquery\n\t\t});\n\t\treturn {\n\t\t\tlisten: (callback) => {\n\t\t\t\treturn store.listen(({ loading, error, data }) => callback({\n\t\t\t\t\tloading,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t}));\n\t\t\t},\n\t\t\tsubscribe: (callback) => {\n\t\t\t\treturn store.subscribe(({ loading, error, data }) => callback({\n\t\t\t\t\tloading,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t}));\n\t\t\t},\n\t\t\trefetch: () => {\n\t\t\t\treturn store.revalidate();\n\t\t\t},\n\t\t\tget: () => {\n\t\t\t\treturn store.get();\n\t\t\t},\n\t\t\t[Symbol.asyncIterator]() {\n\t\t\t\treturn createAsyncIteratorFromCallback((callback) => store.listen(({ loading, error, data }) => callback({\n\t\t\t\t\tloading,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t})));\n\t\t\t}\n\t\t};\n\t};\n}\nfunction createVanillaMutator(hook) {\n\treturn () => {\n\t\tconst store = hook.mutatorStore;\n\t\treturn {\n\t\t\tsubscribe: (callback) => {\n\t\t\t\treturn store.subscribe((value) => {\n\t\t\t\t\tcallback({\n\t\t\t\t\t\tloading: value.loading ?? false,\n\t\t\t\t\t\terror: value.error,\n\t\t\t\t\t\tdata: value.data\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tget: () => {\n\t\t\t\tconst { loading, error, data } = store.get();\n\t\t\t\treturn {\n\t\t\t\t\tloading: loading ?? false,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t};\n\t\t\t},\n\t\t\tmutate: ({ body, path, query }) => {\n\t\t\t\treturn store.mutate({\n\t\t\t\t\tbody,\n\t\t\t\t\tpath,\n\t\t\t\t\tquery\n\t\t\t\t});\n\t\t\t},\n\t\t\t[Symbol.asyncIterator]() {\n\t\t\t\treturn createAsyncIteratorFromCallback((callback) => store.listen((value) => {\n\t\t\t\t\tcallback({\n\t\t\t\t\t\tloading: value.loading ?? false,\n\t\t\t\t\t\terror: value.error,\n\t\t\t\t\t\tdata: value.data\n\t\t\t\t\t});\n\t\t\t\t}));\n\t\t\t}\n\t\t};\n\t};\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createVanillaListeners(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createVanillaMutator(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { useFragno };\n//# sourceMappingURL=vanilla.js.map","import { useFragno } from \"@fragno-dev/core/vanilla\";\nimport { createFormsClients } from \"..\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\n\nexport function createFormsClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createFormsClients(config));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vanilla.js","names":["createAsyncIteratorFromCallback","subscribe","queue","unsubscribe","resolveNext","unsubscribeFunc","value","done","push","length","shift","Promise","resolve","result","isGetHook","isMutatorHook","isStore","createAsyncIteratorFromCallback","createVanillaListeners","hook","path","query","store","listen","callback","loading","error","data","subscribe","refetch","revalidate","get","Symbol","asyncIterator","createVanillaMutator","mutatorStore","value","mutate","body","getStoreDisposer","disposer","dispose","bind","createVanillaStore","obj","args","factory","Object","defineProperty","enumerable","configurable","writable","useFragno","clientObj","result","key","prototype","hasOwnProperty","call","FragnoPublicClientConfig","useFragno","createFormsClients","createFormsClient","config"],"sources":["../../../../fragno/dist/util/async.js","../../../../fragno/dist/client/vanilla.js","../../../src/client/vanilla.ts"],"sourcesContent":["//#region src/util/async.ts\n/**\n* Creates an async iterator from a subscribe function that follows the observable pattern.\n*\n* @template T The type of values produced by the store.\n* @param subscribe A function that subscribes to store updates. It receives a callback to be\n* called on each update, and returns an unsubscribe function.\n* @returns An async generator that yields store values as they are produced.\n*/\nfunction createAsyncIteratorFromCallback(subscribe) {\n\tconst queue = [];\n\tlet unsubscribe = null;\n\tlet resolveNext = null;\n\tconst unsubscribeFunc = subscribe((value) => {\n\t\tif (resolveNext) {\n\t\t\tresolveNext({\n\t\t\t\tvalue,\n\t\t\t\tdone: false\n\t\t\t});\n\t\t\tresolveNext = null;\n\t\t} else queue.push(value);\n\t});\n\tif (typeof unsubscribeFunc === \"function\") unsubscribe = unsubscribeFunc;\n\treturn (async function* () {\n\t\ttry {\n\t\t\twhile (true) if (queue.length > 0) yield queue.shift();\n\t\t\telse yield await new Promise((resolve) => {\n\t\t\t\tresolveNext = (result) => {\n\t\t\t\t\tif (!result.done) resolve(result.value);\n\t\t\t\t};\n\t\t\t});\n\t\t} finally {\n\t\t\tif (unsubscribe) unsubscribe();\n\t\t}\n\t})();\n}\n\n//#endregion\nexport { createAsyncIteratorFromCallback };\n//# sourceMappingURL=async.js.map","import { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { createAsyncIteratorFromCallback } from \"../util/async.js\";\n\n//#region src/client/vanilla.ts\nfunction createVanillaListeners(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst store = hook.store({\n\t\t\tpath,\n\t\t\tquery\n\t\t});\n\t\treturn {\n\t\t\tlisten: (callback) => {\n\t\t\t\treturn store.listen(({ loading, error, data }) => callback({\n\t\t\t\t\tloading,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t}));\n\t\t\t},\n\t\t\tsubscribe: (callback) => {\n\t\t\t\treturn store.subscribe(({ loading, error, data }) => callback({\n\t\t\t\t\tloading,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t}));\n\t\t\t},\n\t\t\trefetch: () => {\n\t\t\t\treturn store.revalidate();\n\t\t\t},\n\t\t\tget: () => {\n\t\t\t\treturn store.get();\n\t\t\t},\n\t\t\t[Symbol.asyncIterator]() {\n\t\t\t\treturn createAsyncIteratorFromCallback((callback) => store.listen(({ loading, error, data }) => callback({\n\t\t\t\t\tloading,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t})));\n\t\t\t}\n\t\t};\n\t};\n}\nfunction createVanillaMutator(hook) {\n\treturn () => {\n\t\tconst store = hook.mutatorStore;\n\t\treturn {\n\t\t\tsubscribe: (callback) => {\n\t\t\t\treturn store.subscribe((value) => {\n\t\t\t\t\tcallback({\n\t\t\t\t\t\tloading: value.loading ?? false,\n\t\t\t\t\t\terror: value.error,\n\t\t\t\t\t\tdata: value.data\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\t\t\tget: () => {\n\t\t\t\tconst { loading, error, data } = store.get();\n\t\t\t\treturn {\n\t\t\t\t\tloading: loading ?? false,\n\t\t\t\t\terror,\n\t\t\t\t\tdata\n\t\t\t\t};\n\t\t\t},\n\t\t\tmutate: ({ body, path, query }) => {\n\t\t\t\treturn store.mutate({\n\t\t\t\t\tbody,\n\t\t\t\t\tpath,\n\t\t\t\t\tquery\n\t\t\t\t});\n\t\t\t},\n\t\t\t[Symbol.asyncIterator]() {\n\t\t\t\treturn createAsyncIteratorFromCallback((callback) => store.listen((value) => {\n\t\t\t\t\tcallback({\n\t\t\t\t\t\tloading: value.loading ?? false,\n\t\t\t\t\t\terror: value.error,\n\t\t\t\t\t\tdata: value.data\n\t\t\t\t\t});\n\t\t\t\t}));\n\t\t\t}\n\t\t};\n\t};\n}\nconst getStoreDisposer = (value) => {\n\tconst disposer = value[Symbol.dispose];\n\treturn typeof disposer === \"function\" ? disposer.bind(value) : void 0;\n};\nfunction createVanillaStore(hook) {\n\tif (\"obj\" in hook) return hook.obj;\n\treturn ((...args) => {\n\t\tconst value = hook.factory(...args);\n\t\tconst disposer = getStoreDisposer(value);\n\t\tif (!disposer) return value;\n\t\tObject.defineProperty(value, \"destroy\", {\n\t\t\tvalue: disposer,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: true,\n\t\t\twritable: true\n\t\t});\n\t\treturn value;\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createVanillaListeners(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createVanillaMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createVanillaStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\n\n//#endregion\nexport { useFragno };\n//# sourceMappingURL=vanilla.js.map","import type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport { useFragno } from \"@fragno-dev/core/vanilla\";\n\nimport { createFormsClients } from \"..\";\n\nexport function createFormsClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createFormsClients(config));\n}\n"],"mappings":"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"}
@@ -62,19 +62,19 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
62
62
  createdAt: zod0.ZodDate;
63
63
  updatedAt: zod0.ZodDate;
64
64
  }, zod_v4_core0.$strip>, "NOT_FOUND", string>;
65
- useCreateForm: _fragno_dev_core_vue0.FragnoVueMutator<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
65
+ useCreateForm: _fragno_dev_core_vue0.FragnoVueMutator<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms", zod0.ZodObject<{
66
+ title: zod0.ZodString;
67
+ description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
68
+ slug: zod0.ZodString;
66
69
  status: zod0.ZodEnum<{
67
70
  draft: "draft";
68
71
  open: "open";
69
72
  closed: "closed";
70
73
  static: "static";
71
74
  }>;
72
- title: zod0.ZodString;
73
- description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
74
- slug: zod0.ZodString;
75
75
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
76
76
  uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
77
- }, zod_v4_core0.$strip> | undefined, zod0.ZodString | zod0.ZodArray<zod0.ZodObject<{
77
+ }, zod_v4_core0.$strip> | _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodString | zod0.ZodArray<zod0.ZodObject<{
78
78
  id: zod0.ZodString;
79
79
  title: zod0.ZodString;
80
80
  description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
@@ -91,19 +91,19 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
91
91
  createdAt: zod0.ZodDate;
92
92
  updatedAt: zod0.ZodDate;
93
93
  }, zod_v4_core0.$strip>> | undefined, string, string>;
94
- useUpdateForm: _fragno_dev_core_vue0.FragnoVueMutator<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
94
+ useUpdateForm: _fragno_dev_core_vue0.FragnoVueMutator<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms/:id", zod0.ZodObject<{
95
+ title: zod0.ZodOptional<zod0.ZodString>;
96
+ description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
97
+ slug: zod0.ZodOptional<zod0.ZodString>;
95
98
  status: zod0.ZodOptional<zod0.ZodEnum<{
96
99
  draft: "draft";
97
100
  open: "open";
98
101
  closed: "closed";
99
102
  static: "static";
100
103
  }>>;
101
- title: zod0.ZodOptional<zod0.ZodString>;
102
- description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
103
- slug: zod0.ZodOptional<zod0.ZodString>;
104
104
  dataSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
105
105
  uiSchema: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
106
- }, zod_v4_core0.$strip> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
106
+ }, zod_v4_core0.$strip> | _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodObject<{
107
107
  id: zod0.ZodString;
108
108
  title: zod0.ZodString;
109
109
  description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
@@ -119,20 +119,20 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
119
119
  version: zod0.ZodNumber;
120
120
  createdAt: zod0.ZodDate;
121
121
  updatedAt: zod0.ZodDate;
122
- }, zod_v4_core0.$strip> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
123
- useDeleteForm: _fragno_dev_core_vue0.FragnoVueMutator<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
122
+ }, zod_v4_core0.$strip> | _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
123
+ useDeleteForm: _fragno_dev_core_vue0.FragnoVueMutator<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms/:id", zod0.ZodObject<{
124
+ title: zod0.ZodOptional<zod0.ZodString>;
125
+ description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
126
+ slug: zod0.ZodOptional<zod0.ZodString>;
124
127
  status: zod0.ZodOptional<zod0.ZodEnum<{
125
128
  draft: "draft";
126
129
  open: "open";
127
130
  closed: "closed";
128
131
  static: "static";
129
132
  }>>;
130
- title: zod0.ZodOptional<zod0.ZodString>;
131
- description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
132
- slug: zod0.ZodOptional<zod0.ZodString>;
133
133
  dataSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
134
134
  uiSchema: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
135
- }, zod_v4_core0.$strip> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
135
+ }, zod_v4_core0.$strip> | _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodObject<{
136
136
  id: zod0.ZodString;
137
137
  title: zod0.ZodString;
138
138
  description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
@@ -148,7 +148,7 @@ declare function createFormsClient(config?: FragnoPublicClientConfig): {
148
148
  version: zod0.ZodNumber;
149
149
  createdAt: zod0.ZodDate;
150
150
  updatedAt: zod0.ZodDate;
151
- }, zod_v4_core0.$strip> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
151
+ }, zod_v4_core0.$strip> | _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "INVALID_JSON_SCHEMA" | "STATIC_FORM_READ_ONLY", string>;
152
152
  useSubmissions: _fragno_dev_core_vue0.FragnoVueHook<"GET", "/admin/forms/:id/submissions", zod0.ZodArray<zod0.ZodObject<{
153
153
  id: zod0.ZodString;
154
154
  formId: zod0.ZodNullable<zod0.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"vue.d.ts","names":[],"sources":["../../../../src/client/vue.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAIgB,iBAAA,UAA0B;;QAA6B,IAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
1
+ {"version":3,"file":"vue.d.ts","names":[],"sources":["../../../../src/client/vue.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAKgB,iBAAA,UAA0B;;QAA6B,IAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
@@ -1,4 +1,4 @@
1
- import { atom, createFormsClients, isGetHook, isMutatorHook, isReadableAtom, isStore } from "../src-BBaSaf29.js";
1
+ import { atom, createFormsClients, isGetHook, isMutatorHook, isReadableAtom, isStore } from "../src-BNcd9ogF.js";
2
2
  import { computed, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from "vue";
3
3
 
4
4
  //#region ../fragno/dist/client/vue.js
@@ -79,17 +79,25 @@ function createVueMutator(hook) {
79
79
  };
80
80
  };
81
81
  }
82
+ function unwrapVueStoreValue(value) {
83
+ if (isReadableAtom(value)) return useStore(value);
84
+ const result = {};
85
+ for (const key in value) {
86
+ if (!Object.prototype.hasOwnProperty.call(value, key)) continue;
87
+ const fieldValue = value[key];
88
+ if (isReadableAtom(fieldValue)) result[key] = useStore(fieldValue);
89
+ else result[key] = fieldValue;
90
+ }
91
+ return result;
92
+ }
82
93
  function createVueStore(hook) {
83
- if (isReadableAtom(hook.obj)) return () => useStore(hook.obj).value;
84
- return () => {
85
- const result = {};
86
- for (const key in hook.obj) {
87
- if (!Object.prototype.hasOwnProperty.call(hook.obj, key)) continue;
88
- const value = hook.obj[key];
89
- if (isReadableAtom(value)) result[key] = useStore(value).value;
90
- else result[key] = value;
91
- }
92
- return result;
94
+ return (...args) => {
95
+ const value = "factory" in hook ? hook.factory(...args) : hook.obj;
96
+ const disposer = value[Symbol.dispose];
97
+ if (typeof disposer === "function" && getCurrentScope()) onScopeDispose(() => {
98
+ disposer.call(value);
99
+ });
100
+ return unwrapVueStoreValue(value);
93
101
  };
94
102
  }
95
103
  function useFragno(clientObj) {
@@ -1 +1 @@
1
- {"version":3,"file":"vue.js","names":["isReadableAtom","isGetHook","isMutatorHook","isStore","atom","computed","computed$1","getCurrentScope","isRef","onScopeDispose","ref","shallowRef","watch","refToAtom","ref$1","a","value","newVal","set","createVueHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","subscribe","updatedStoreValue","createVueMutator","useStore","mutatorStore","mutate","args","body","createVueStore","obj","result","prototype","hasOwnProperty","call","useFragno","clientObj","state","useFragno","createFormsClients","FragnoPublicClientConfig","createFormsClient","config"],"sources":["../../../../fragno/dist/client/vue.js","../../../src/client/vue.ts"],"sourcesContent":["import { isReadableAtom } from \"../util/nanostores.js\";\nimport { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { computed as computed$1, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from \"vue\";\n\n//#region src/client/vue.ts\n/**\n* Converts a Vue Ref to a NanoStore Atom.\n*\n* This is used to convert Vue refs to atoms, so that we can use them in the store.\n*\n* @private\n*/\nfunction refToAtom(ref$1) {\n\tconst a = atom(ref$1.value);\n\twatch(ref$1, (newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction createVueHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tpathParams[key] = isRef(v) ? refToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tqueryParams[key] = isRef(v) ? refToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = ref();\n\t\tconst loading = ref();\n\t\tconst error = ref();\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.value = updatedStoreValue.data;\n\t\t\tloading.value = updatedStoreValue.loading;\n\t\t\terror.value = updatedStoreValue.error;\n\t\t});\n\t\tif (getCurrentScope()) onScopeDispose(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createVueMutator(hook) {\n\treturn () => {\n\t\tconst store = useStore(hook.mutatorStore);\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isRef(v) ? v.value : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isRef(v) ? v.value : v;\n\t\t\t}\n\t\t\treturn store.value.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading: computed$1(() => store.value.loading),\n\t\t\terror: computed$1(() => store.value.error),\n\t\t\tdata: computed$1(() => store.value.data)\n\t\t};\n\t};\n}\nfunction createVueStore(hook) {\n\tif (isReadableAtom(hook.obj)) return (() => useStore(hook.obj).value);\n\treturn (() => {\n\t\tconst result = {};\n\t\tfor (const key in hook.obj) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(hook.obj, key)) continue;\n\t\t\tconst value = hook.obj[key];\n\t\t\tif (isReadableAtom(value)) result[key] = useStore(value).value;\n\t\t\telse result[key] = value;\n\t\t}\n\t\treturn result;\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createVueHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createVueMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createVueStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\nfunction useStore(store) {\n\tconst state = shallowRef();\n\tconst unsubscribe = store.subscribe((value) => {\n\t\tstate.value = value;\n\t});\n\tif (getCurrentScope()) onScopeDispose(unsubscribe);\n\treturn state;\n}\n\n//#endregion\nexport { refToAtom, useFragno, useStore };\n//# sourceMappingURL=vue.js.map","import { useFragno } from \"@fragno-dev/core/vue\";\nimport { createFormsClients } from \"..\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\n\nexport function createFormsClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createFormsClients(config));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vue.js","names":["isReadableAtom","isGetHook","isMutatorHook","isStore","atom","computed","computed$1","getCurrentScope","isRef","onScopeDispose","ref","shallowRef","watch","refToAtom","ref$1","a","value","newVal","set","createVueHook","hook","path","query","pathParams","queryParams","key","Object","entries","v","store","data","loading","error","unsubscribe","subscribe","updatedStoreValue","createVueMutator","useStore","mutatorStore","mutate","args","body","unwrapVueStoreValue","result","prototype","hasOwnProperty","call","fieldValue","createVueStore","factory","obj","disposer","Symbol","dispose","useFragno","clientObj","state","FragnoPublicClientConfig","useFragno","createFormsClients","createFormsClient","config"],"sources":["../../../../fragno/dist/client/vue.js","../../../src/client/vue.ts"],"sourcesContent":["import { isReadableAtom } from \"../util/nanostores.js\";\nimport { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { atom } from \"nanostores\";\nimport { computed as computed$1, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from \"vue\";\n\n//#region src/client/vue.ts\n/**\n* Converts a Vue Ref to a NanoStore Atom.\n*\n* This is used to convert Vue refs to atoms, so that we can use them in the store.\n*\n* @private\n*/\nfunction refToAtom(ref$1) {\n\tconst a = atom(ref$1.value);\n\twatch(ref$1, (newVal) => {\n\t\ta.set(newVal);\n\t});\n\treturn a;\n}\nfunction createVueHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParams = {};\n\t\tconst queryParams = {};\n\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\tconst v = value;\n\t\t\tpathParams[key] = isRef(v) ? refToAtom(v) : v;\n\t\t}\n\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\tconst v = value;\n\t\t\tqueryParams[key] = isRef(v) ? refToAtom(v) : v;\n\t\t}\n\t\tconst store = hook.store({\n\t\t\tpath: pathParams,\n\t\t\tquery: queryParams\n\t\t});\n\t\tconst data = ref();\n\t\tconst loading = ref();\n\t\tconst error = ref();\n\t\tconst unsubscribe = store.subscribe((updatedStoreValue) => {\n\t\t\tdata.value = updatedStoreValue.data;\n\t\t\tloading.value = updatedStoreValue.loading;\n\t\t\terror.value = updatedStoreValue.error;\n\t\t});\n\t\tif (getCurrentScope()) onScopeDispose(() => {\n\t\t\tunsubscribe();\n\t\t});\n\t\treturn {\n\t\t\tdata,\n\t\t\tloading,\n\t\t\terror\n\t\t};\n\t};\n}\nfunction createVueMutator(hook) {\n\treturn () => {\n\t\tconst store = useStore(hook.mutatorStore);\n\t\tconst mutate = async (args) => {\n\t\t\tconst { body, path, query } = args;\n\t\t\tconst pathParams = {};\n\t\t\tconst queryParams = {};\n\t\t\tfor (const [key, value] of Object.entries(path ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tpathParams[key] = isRef(v) ? v.value : v;\n\t\t\t}\n\t\t\tfor (const [key, value] of Object.entries(query ?? {})) {\n\t\t\t\tconst v = value;\n\t\t\t\tqueryParams[key] = isRef(v) ? v.value : v;\n\t\t\t}\n\t\t\treturn store.value.mutate({\n\t\t\t\tbody,\n\t\t\t\tpath: pathParams,\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t};\n\t\treturn {\n\t\t\tmutate,\n\t\t\tloading: computed$1(() => store.value.loading),\n\t\t\terror: computed$1(() => store.value.error),\n\t\t\tdata: computed$1(() => store.value.data)\n\t\t};\n\t};\n}\nfunction unwrapVueStoreValue(value) {\n\tif (isReadableAtom(value)) return useStore(value);\n\tconst result = {};\n\tfor (const key in value) {\n\t\tif (!Object.prototype.hasOwnProperty.call(value, key)) continue;\n\t\tconst fieldValue = value[key];\n\t\tif (isReadableAtom(fieldValue)) result[key] = useStore(fieldValue);\n\t\telse result[key] = fieldValue;\n\t}\n\treturn result;\n}\nfunction createVueStore(hook) {\n\treturn ((...args) => {\n\t\tconst value = \"factory\" in hook ? hook.factory(...args) : hook.obj;\n\t\tconst disposer = value[Symbol.dispose];\n\t\tif (typeof disposer === \"function\" && getCurrentScope()) onScopeDispose(() => {\n\t\t\tdisposer.call(value);\n\t\t});\n\t\treturn unwrapVueStoreValue(value);\n\t});\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createVueHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createVueMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createVueStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\nfunction useStore(store) {\n\tconst state = shallowRef();\n\tconst unsubscribe = store.subscribe((value) => {\n\t\tstate.value = value;\n\t});\n\tif (getCurrentScope()) onScopeDispose(unsubscribe);\n\treturn state;\n}\n\n//#endregion\nexport { refToAtom, useFragno, useStore };\n//# sourceMappingURL=vue.js.map","import type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport { useFragno } from \"@fragno-dev/core/vue\";\n\nimport { createFormsClients } from \"..\";\n\nexport function createFormsClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createFormsClients(config));\n}\n"],"mappings":";;;;;;;;;;;AAaA,SAASa,UAAUC,OAAO;CACzB,MAAMC,IAAIX,KAAKU,MAAME,MAAM;AAC3BJ,OAAME,OAAQG,YAAW;AACxBF,IAAEG,IAAID,OAAO;CACb,EAAC;AACF,QAAOF;AACR;AACA,SAASI,cAAcC,MAAM;AAC5B,QAAO,CAAC,EAAEC,MAAMC,OAAO,GAAG,CAAE,MAAK;EAChC,MAAMC,aAAa,CAAE;EACrB,MAAMC,cAAc,CAAE;AACtB,OAAK,MAAM,CAACC,KAAKT,MAAM,IAAIU,OAAOC,QAAQN,QAAQ,CAAE,EAAC,EAAE;GACtD,MAAMO,IAAIZ;AACVO,cAAWE,OAAOjB,MAAMoB,EAAE,GAAGf,UAAUe,EAAE,GAAGA;EAC7C;AACA,OAAK,MAAM,CAACH,KAAKT,MAAM,IAAIU,OAAOC,QAAQL,SAAS,CAAE,EAAC,EAAE;GACvD,MAAMM,IAAIZ;AACVQ,eAAYC,OAAOjB,MAAMoB,EAAE,GAAGf,UAAUe,EAAE,GAAGA;EAC9C;EACA,MAAMC,QAAQT,KAAKS,MAAM;GACxBR,MAAME;GACND,OAAOE;EACP,EAAC;EACF,MAAMM,OAAOpB,KAAK;EAClB,MAAMqB,UAAUrB,KAAK;EACrB,MAAMsB,QAAQtB,KAAK;EACnB,MAAMuB,cAAcJ,MAAMK,UAAWC,uBAAsB;AAC1DL,QAAKd,QAAQmB,kBAAkBL;AAC/BC,WAAQf,QAAQmB,kBAAkBJ;AAClCC,SAAMhB,QAAQmB,kBAAkBH;EAChC,EAAC;AACF,MAAIzB,iBAAiB,CAAEE,gBAAe,MAAM;AAC3CwB,gBAAa;EACb,EAAC;AACF,SAAO;GACNH;GACAC;GACAC;EACA;CACD;AACF;AACA,SAASI,iBAAiBhB,MAAM;AAC/B,QAAO,MAAM;EACZ,MAAMS,QAAQQ,SAASjB,KAAKkB,aAAa;EACzC,MAAMC,SAAS,OAAOC,SAAS;GAC9B,MAAM,EAAEC,MAAMpB,MAAMC,OAAO,GAAGkB;GAC9B,MAAMjB,aAAa,CAAE;GACrB,MAAMC,cAAc,CAAE;AACtB,QAAK,MAAM,CAACC,KAAKT,MAAM,IAAIU,OAAOC,QAAQN,QAAQ,CAAE,EAAC,EAAE;IACtD,MAAMO,IAAIZ;AACVO,eAAWE,OAAOjB,MAAMoB,EAAE,GAAGA,EAAEZ,QAAQY;GACxC;AACA,QAAK,MAAM,CAACH,KAAKT,MAAM,IAAIU,OAAOC,QAAQL,SAAS,CAAE,EAAC,EAAE;IACvD,MAAMM,IAAIZ;AACVQ,gBAAYC,OAAOjB,MAAMoB,EAAE,GAAGA,EAAEZ,QAAQY;GACzC;AACA,UAAOC,MAAMb,MAAMuB,OAAO;IACzBE;IACApB,MAAME;IACND,OAAOE;GACP,EAAC;EACF;AACD,SAAO;GACNe;GACAR,SAASzB,SAAW,MAAMuB,MAAMb,MAAMe,QAAQ;GAC9CC,OAAO1B,SAAW,MAAMuB,MAAMb,MAAMgB,MAAM;GAC1CF,MAAMxB,SAAW,MAAMuB,MAAMb,MAAMc,KAAI;EACvC;CACD;AACF;AACA,SAASY,oBAAoB1B,OAAO;AACnC,KAAIhB,eAAegB,MAAM,CAAE,QAAOqB,SAASrB,MAAM;CACjD,MAAM2B,SAAS,CAAE;AACjB,MAAK,MAAMlB,OAAOT,OAAO;AACxB,OAAKU,OAAOkB,UAAUC,eAAeC,KAAK9B,OAAOS,IAAI,CAAE;EACvD,MAAMsB,aAAa/B,MAAMS;AACzB,MAAIzB,eAAe+C,WAAW,CAAEJ,QAAOlB,OAAOY,SAASU,WAAW;MAC7DJ,QAAOlB,OAAOsB;CACpB;AACA,QAAOJ;AACR;AACA,SAASK,eAAe5B,MAAM;AAC7B,QAAQ,CAAC,GAAGoB,SAAS;EACpB,MAAMxB,QAAQ,aAAaI,OAAOA,KAAK6B,QAAQ,GAAGT,KAAK,GAAGpB,KAAK8B;EAC/D,MAAMC,WAAWnC,MAAMoC,OAAOC;AAC9B,aAAWF,aAAa,cAAc5C,iBAAiB,CAAEE,gBAAe,MAAM;AAC7E0C,YAASL,KAAK9B,MAAM;EACpB,EAAC;AACF,SAAO0B,oBAAoB1B,MAAM;CACjC;AACF;AACA,SAASsC,UAAUC,WAAW;CAC7B,MAAMZ,SAAS,CAAE;AACjB,MAAK,MAAMlB,OAAO8B,WAAW;AAC5B,OAAK7B,OAAOkB,UAAUC,eAAeC,KAAKS,WAAW9B,IAAI,CAAE;EAC3D,MAAML,OAAOmC,UAAU9B;AACvB,MAAIxB,UAAUmB,KAAK,CAAEuB,QAAOlB,OAAON,cAAcC,KAAK;WAC7ClB,cAAckB,KAAK,CAAEuB,QAAOlB,OAAOW,iBAAiBhB,KAAK;WACzDjB,QAAQiB,KAAK,CAAEuB,QAAOlB,OAAOuB,eAAe5B,KAAK;MACrDuB,QAAOlB,OAAOL;CACpB;AACA,QAAOuB;AACR;AACA,SAASN,SAASR,OAAO;CACxB,MAAM2B,QAAQ7C,YAAY;CAC1B,MAAMsB,cAAcJ,MAAMK,UAAWlB,WAAU;AAC9CwC,QAAMxC,QAAQA;CACd,EAAC;AACF,KAAIT,iBAAiB,CAAEE,gBAAewB,YAAY;AAClD,QAAOuB;AACR;;;;ACtHA,SAAgBI,kBAAkBC,SAAmC,CAAE,GAAE;AACvE,QAAOH,UAAUC,mBAAmBE,OAAO,CAAC;AAC9C"}