@fragno-dev/forms 0.0.1
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/LICENSE.md +16 -0
- package/README.md +47 -0
- package/dist/browser/client/react.d.ts +135 -0
- package/dist/browser/client/react.d.ts.map +1 -0
- package/dist/browser/client/react.js +83 -0
- package/dist/browser/client/react.js.map +1 -0
- package/dist/browser/client/solid.d.ts +135 -0
- package/dist/browser/client/solid.d.ts.map +1 -0
- package/dist/browser/client/solid.js +121 -0
- package/dist/browser/client/solid.js.map +1 -0
- package/dist/browser/client/svelte.d.ts +135 -0
- package/dist/browser/client/svelte.d.ts.map +1 -0
- package/dist/browser/client/svelte.js +125 -0
- package/dist/browser/client/svelte.js.map +1 -0
- package/dist/browser/client/vanilla.d.ts +135 -0
- package/dist/browser/client/vanilla.d.ts.map +1 -0
- package/dist/browser/client/vanilla.js +139 -0
- package/dist/browser/client/vanilla.js.map +1 -0
- package/dist/browser/client/vue.d.ts +135 -0
- package/dist/browser/client/vue.d.ts.map +1 -0
- package/dist/browser/client/vue.js +110 -0
- package/dist/browser/client/vue.js.map +1 -0
- package/dist/browser/index.d.ts +767 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +3 -0
- package/dist/browser/src-DElBPLyi.js +1950 -0
- package/dist/browser/src-DElBPLyi.js.map +1 -0
- package/dist/node/index.d.ts +767 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +375 -0
- package/dist/node/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as zod587 from "zod";
|
|
2
|
+
import * as zod_v4_core39 from "zod/v4/core";
|
|
3
|
+
import * as _fragno_dev_core_api19 from "@fragno-dev/core/api";
|
|
4
|
+
import * as _standard_schema_spec31 from "@standard-schema/spec";
|
|
5
|
+
import { FragnoPublicClientConfig } from "@fragno-dev/core/client";
|
|
6
|
+
import * as _fragno_dev_core_svelte0 from "@fragno-dev/core/svelte";
|
|
7
|
+
|
|
8
|
+
//#region src/client/svelte.d.ts
|
|
9
|
+
declare function createFormsClient(config?: FragnoPublicClientConfig): {
|
|
10
|
+
useForm: _fragno_dev_core_svelte0.FragnoSvelteHook<"GET", "/:slug", zod587.ZodObject<{
|
|
11
|
+
id: zod587.ZodString;
|
|
12
|
+
title: zod587.ZodString;
|
|
13
|
+
description: zod587.ZodNullable<zod587.ZodString>;
|
|
14
|
+
slug: zod587.ZodString;
|
|
15
|
+
status: zod587.ZodEnum<{
|
|
16
|
+
draft: "draft";
|
|
17
|
+
open: "open";
|
|
18
|
+
closed: "closed";
|
|
19
|
+
static: "static";
|
|
20
|
+
}>;
|
|
21
|
+
dataSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
22
|
+
uiSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
23
|
+
version: zod587.ZodNumber;
|
|
24
|
+
createdAt: zod587.ZodDate;
|
|
25
|
+
updatedAt: zod587.ZodDate;
|
|
26
|
+
}, zod_v4_core39.$strip>, "NOT_FOUND", string>;
|
|
27
|
+
useSubmitForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/:slug/submit", zod587.ZodObject<{
|
|
28
|
+
data: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
29
|
+
securityToken: zod587.ZodOptional<zod587.ZodString>;
|
|
30
|
+
}, zod_v4_core39.$strip> | undefined, zod587.ZodString | undefined, "NOT_FOUND" | "VALIDATION_ERROR" | "FORM_NOT_OPEN", string>;
|
|
31
|
+
useForms: _fragno_dev_core_svelte0.FragnoSvelteHook<"GET", "/admin/forms", NonNullable<zod587.ZodString | zod587.ZodArray<zod587.ZodObject<{
|
|
32
|
+
id: zod587.ZodString;
|
|
33
|
+
title: zod587.ZodString;
|
|
34
|
+
description: zod587.ZodNullable<zod587.ZodString>;
|
|
35
|
+
slug: zod587.ZodString;
|
|
36
|
+
status: zod587.ZodEnum<{
|
|
37
|
+
draft: "draft";
|
|
38
|
+
open: "open";
|
|
39
|
+
closed: "closed";
|
|
40
|
+
static: "static";
|
|
41
|
+
}>;
|
|
42
|
+
dataSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
43
|
+
uiSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
44
|
+
version: zod587.ZodNumber;
|
|
45
|
+
createdAt: zod587.ZodDate;
|
|
46
|
+
updatedAt: zod587.ZodDate;
|
|
47
|
+
}, zod_v4_core39.$strip>> | undefined>, string, string>;
|
|
48
|
+
useCreateForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/forms", _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | zod587.ZodObject<{
|
|
49
|
+
status: zod587.ZodEnum<{
|
|
50
|
+
draft: "draft";
|
|
51
|
+
open: "open";
|
|
52
|
+
closed: "closed";
|
|
53
|
+
static: "static";
|
|
54
|
+
}>;
|
|
55
|
+
title: zod587.ZodString;
|
|
56
|
+
description: zod587.ZodNullable<zod587.ZodString>;
|
|
57
|
+
slug: zod587.ZodString;
|
|
58
|
+
dataSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
59
|
+
uiSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
60
|
+
}, zod_v4_core39.$strip> | undefined, zod587.ZodString | zod587.ZodArray<zod587.ZodObject<{
|
|
61
|
+
id: zod587.ZodString;
|
|
62
|
+
title: zod587.ZodString;
|
|
63
|
+
description: zod587.ZodNullable<zod587.ZodString>;
|
|
64
|
+
slug: zod587.ZodString;
|
|
65
|
+
status: zod587.ZodEnum<{
|
|
66
|
+
draft: "draft";
|
|
67
|
+
open: "open";
|
|
68
|
+
closed: "closed";
|
|
69
|
+
static: "static";
|
|
70
|
+
}>;
|
|
71
|
+
dataSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
72
|
+
uiSchema: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
73
|
+
version: zod587.ZodNumber;
|
|
74
|
+
createdAt: zod587.ZodDate;
|
|
75
|
+
updatedAt: zod587.ZodDate;
|
|
76
|
+
}, zod_v4_core39.$strip>> | undefined, string, string>;
|
|
77
|
+
useUpdateForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | zod587.ZodObject<{
|
|
78
|
+
status: zod587.ZodOptional<zod587.ZodEnum<{
|
|
79
|
+
draft: "draft";
|
|
80
|
+
open: "open";
|
|
81
|
+
closed: "closed";
|
|
82
|
+
static: "static";
|
|
83
|
+
}>>;
|
|
84
|
+
title: zod587.ZodOptional<zod587.ZodString>;
|
|
85
|
+
description: zod587.ZodOptional<zod587.ZodNullable<zod587.ZodString>>;
|
|
86
|
+
slug: zod587.ZodOptional<zod587.ZodString>;
|
|
87
|
+
dataSchema: zod587.ZodOptional<zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>>;
|
|
88
|
+
uiSchema: zod587.ZodOptional<zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>>;
|
|
89
|
+
}, zod_v4_core39.$strip> | undefined, _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
|
|
90
|
+
useDeleteForm: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | zod587.ZodObject<{
|
|
91
|
+
status: zod587.ZodOptional<zod587.ZodEnum<{
|
|
92
|
+
draft: "draft";
|
|
93
|
+
open: "open";
|
|
94
|
+
closed: "closed";
|
|
95
|
+
static: "static";
|
|
96
|
+
}>>;
|
|
97
|
+
title: zod587.ZodOptional<zod587.ZodString>;
|
|
98
|
+
description: zod587.ZodOptional<zod587.ZodNullable<zod587.ZodString>>;
|
|
99
|
+
slug: zod587.ZodOptional<zod587.ZodString>;
|
|
100
|
+
dataSchema: zod587.ZodOptional<zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>>;
|
|
101
|
+
uiSchema: zod587.ZodOptional<zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>>;
|
|
102
|
+
}, zod_v4_core39.$strip> | undefined, _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
|
|
103
|
+
useSubmissions: _fragno_dev_core_svelte0.FragnoSvelteHook<"GET", "/admin/forms/:id/submissions", zod587.ZodArray<zod587.ZodObject<{
|
|
104
|
+
id: zod587.ZodString;
|
|
105
|
+
formId: zod587.ZodNullable<zod587.ZodString>;
|
|
106
|
+
formVersion: zod587.ZodNumber;
|
|
107
|
+
data: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
108
|
+
submittedAt: zod587.ZodDate;
|
|
109
|
+
ip: zod587.ZodNullable<zod587.ZodString>;
|
|
110
|
+
userAgent: zod587.ZodNullable<zod587.ZodString>;
|
|
111
|
+
}, zod_v4_core39.$strip>>, string, "sortOrder">;
|
|
112
|
+
useSubmission: _fragno_dev_core_svelte0.FragnoSvelteHook<"GET", "/admin/submissions/:id", NonNullable<_standard_schema_spec31.StandardSchemaV1<unknown, unknown> | zod587.ZodObject<{
|
|
113
|
+
id: zod587.ZodString;
|
|
114
|
+
formId: zod587.ZodNullable<zod587.ZodString>;
|
|
115
|
+
formVersion: zod587.ZodNumber;
|
|
116
|
+
data: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
117
|
+
submittedAt: zod587.ZodDate;
|
|
118
|
+
ip: zod587.ZodNullable<zod587.ZodString>;
|
|
119
|
+
userAgent: zod587.ZodNullable<zod587.ZodString>;
|
|
120
|
+
}, zod_v4_core39.$strip> | undefined>, "NOT_FOUND", string>;
|
|
121
|
+
useDeleteSubmission: _fragno_dev_core_svelte0.FragnoSvelteMutator<_fragno_dev_core_api19.NonGetHTTPMethod, "/admin/submissions/:id", _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec31.StandardSchemaV1<unknown, unknown> | zod587.ZodObject<{
|
|
122
|
+
id: zod587.ZodString;
|
|
123
|
+
formId: zod587.ZodNullable<zod587.ZodString>;
|
|
124
|
+
formVersion: zod587.ZodNumber;
|
|
125
|
+
data: zod587.ZodRecord<zod587.ZodString, zod587.ZodUnknown>;
|
|
126
|
+
submittedAt: zod587.ZodDate;
|
|
127
|
+
ip: zod587.ZodNullable<zod587.ZodString>;
|
|
128
|
+
userAgent: zod587.ZodNullable<zod587.ZodString>;
|
|
129
|
+
}, zod_v4_core39.$strip> | undefined, "NOT_FOUND", string>;
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=svelte.d.ts.map
|
|
132
|
+
|
|
133
|
+
//#endregion
|
|
134
|
+
export { createFormsClient };
|
|
135
|
+
//# sourceMappingURL=svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","names":[],"sources":["../../../../src/client/svelte.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAIgB,iBAAA,UAA0B;;QAA6B,MAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { atom, createFormsClients, isGetHook, isMutatorHook, isStore } from "../src-DElBPLyi.js";
|
|
2
|
+
import { get, writable } from "svelte/store";
|
|
3
|
+
import { onDestroy } from "svelte";
|
|
4
|
+
|
|
5
|
+
//#region ../fragno/dist/client/client.svelte.js
|
|
6
|
+
function isReadable(value) {
|
|
7
|
+
return typeof value === "object" && value !== null && "subscribe" in value;
|
|
8
|
+
}
|
|
9
|
+
function isCallable(value) {
|
|
10
|
+
return typeof value === "function";
|
|
11
|
+
}
|
|
12
|
+
function readableToAtom(value) {
|
|
13
|
+
const a = atom(get(value));
|
|
14
|
+
value.subscribe((newVal) => {
|
|
15
|
+
a.set(newVal);
|
|
16
|
+
});
|
|
17
|
+
return a;
|
|
18
|
+
}
|
|
19
|
+
function runeToAtom(value) {
|
|
20
|
+
const a = atom(value());
|
|
21
|
+
$effect(() => {
|
|
22
|
+
a.set(value());
|
|
23
|
+
});
|
|
24
|
+
return a;
|
|
25
|
+
}
|
|
26
|
+
function createSvelteHook(hook) {
|
|
27
|
+
return ({ path, query } = {}) => {
|
|
28
|
+
const pathParams = {};
|
|
29
|
+
const queryParams = {};
|
|
30
|
+
for (const [key, value] of Object.entries(path ?? {})) {
|
|
31
|
+
const v = value;
|
|
32
|
+
if (isCallable(v)) pathParams[key] = runeToAtom(v);
|
|
33
|
+
else pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
34
|
+
}
|
|
35
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
36
|
+
const v = value;
|
|
37
|
+
if (isCallable(v)) queryParams[key] = runeToAtom(v);
|
|
38
|
+
else queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
39
|
+
}
|
|
40
|
+
const store = hook.store({
|
|
41
|
+
path: pathParams,
|
|
42
|
+
query: queryParams
|
|
43
|
+
});
|
|
44
|
+
const data = writable(void 0);
|
|
45
|
+
const loading = writable(false);
|
|
46
|
+
const error = writable(void 0);
|
|
47
|
+
const unsubscribe = store.subscribe((updatedStoreValue) => {
|
|
48
|
+
data.set(updatedStoreValue.data);
|
|
49
|
+
loading.set(updatedStoreValue.loading);
|
|
50
|
+
error.set(updatedStoreValue.error);
|
|
51
|
+
});
|
|
52
|
+
onDestroy(() => {
|
|
53
|
+
unsubscribe();
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
data,
|
|
57
|
+
loading,
|
|
58
|
+
error
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function createSvelteMutator(hook) {
|
|
63
|
+
return () => {
|
|
64
|
+
const data = writable(void 0);
|
|
65
|
+
const loading = writable(void 0);
|
|
66
|
+
const error = writable(void 0);
|
|
67
|
+
const unsubscribe = hook.mutatorStore.subscribe((storeValue) => {
|
|
68
|
+
data.set(storeValue.data);
|
|
69
|
+
loading.set(storeValue.loading);
|
|
70
|
+
error.set(storeValue.error);
|
|
71
|
+
});
|
|
72
|
+
onDestroy(() => {
|
|
73
|
+
unsubscribe();
|
|
74
|
+
});
|
|
75
|
+
const mutate = async (args) => {
|
|
76
|
+
const { body, path, query } = args;
|
|
77
|
+
const pathParams = {};
|
|
78
|
+
const queryParams = {};
|
|
79
|
+
for (const [key, value] of Object.entries(path ?? {})) {
|
|
80
|
+
const v = value;
|
|
81
|
+
pathParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
82
|
+
}
|
|
83
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
84
|
+
const v = value;
|
|
85
|
+
queryParams[key] = isReadable(v) ? readableToAtom(v) : v;
|
|
86
|
+
}
|
|
87
|
+
return hook.mutatorStore.mutate({
|
|
88
|
+
body,
|
|
89
|
+
path: pathParams,
|
|
90
|
+
query: queryParams
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
mutate,
|
|
95
|
+
loading,
|
|
96
|
+
error,
|
|
97
|
+
data
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function createSvelteStore(hook) {
|
|
102
|
+
return hook.obj;
|
|
103
|
+
}
|
|
104
|
+
function useFragno(clientObj) {
|
|
105
|
+
const result = {};
|
|
106
|
+
for (const key in clientObj) {
|
|
107
|
+
if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
|
|
108
|
+
const hook = clientObj[key];
|
|
109
|
+
if (isGetHook(hook)) result[key] = createSvelteHook(hook);
|
|
110
|
+
else if (isMutatorHook(hook)) result[key] = createSvelteMutator(hook);
|
|
111
|
+
else if (isStore(hook)) result[key] = createSvelteStore(hook);
|
|
112
|
+
else result[key] = hook;
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region src/client/svelte.ts
|
|
119
|
+
function createFormsClient(config = {}) {
|
|
120
|
+
return useFragno(createFormsClients(config));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
//#endregion
|
|
124
|
+
export { createFormsClient };
|
|
125
|
+
//# sourceMappingURL=svelte.js.map
|
|
@@ -0,0 +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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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as zod293 from "zod";
|
|
2
|
+
import * as zod_v4_core19 from "zod/v4/core";
|
|
3
|
+
import * as _fragno_dev_core_api9 from "@fragno-dev/core/api";
|
|
4
|
+
import * as _standard_schema_spec15 from "@standard-schema/spec";
|
|
5
|
+
import { FragnoPublicClientConfig } from "@fragno-dev/core/client";
|
|
6
|
+
import * as _fragno_dev_core_vanilla0 from "@fragno-dev/core/vanilla";
|
|
7
|
+
|
|
8
|
+
//#region src/client/vanilla.d.ts
|
|
9
|
+
declare function createFormsClient(config?: FragnoPublicClientConfig): {
|
|
10
|
+
useForm: _fragno_dev_core_vanilla0.FragnoVanillaListeners<"GET", "/:slug", zod293.ZodObject<{
|
|
11
|
+
id: zod293.ZodString;
|
|
12
|
+
title: zod293.ZodString;
|
|
13
|
+
description: zod293.ZodNullable<zod293.ZodString>;
|
|
14
|
+
slug: zod293.ZodString;
|
|
15
|
+
status: zod293.ZodEnum<{
|
|
16
|
+
draft: "draft";
|
|
17
|
+
open: "open";
|
|
18
|
+
closed: "closed";
|
|
19
|
+
static: "static";
|
|
20
|
+
}>;
|
|
21
|
+
dataSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
22
|
+
uiSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
23
|
+
version: zod293.ZodNumber;
|
|
24
|
+
createdAt: zod293.ZodDate;
|
|
25
|
+
updatedAt: zod293.ZodDate;
|
|
26
|
+
}, zod_v4_core19.$strip>, "NOT_FOUND", string>;
|
|
27
|
+
useSubmitForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api9.NonGetHTTPMethod, "/:slug/submit", zod293.ZodObject<{
|
|
28
|
+
data: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
29
|
+
securityToken: zod293.ZodOptional<zod293.ZodString>;
|
|
30
|
+
}, zod_v4_core19.$strip> | undefined, zod293.ZodString | undefined, "NOT_FOUND" | "VALIDATION_ERROR" | "FORM_NOT_OPEN", string>;
|
|
31
|
+
useForms: _fragno_dev_core_vanilla0.FragnoVanillaListeners<"GET", "/admin/forms", NonNullable<zod293.ZodString | zod293.ZodArray<zod293.ZodObject<{
|
|
32
|
+
id: zod293.ZodString;
|
|
33
|
+
title: zod293.ZodString;
|
|
34
|
+
description: zod293.ZodNullable<zod293.ZodString>;
|
|
35
|
+
slug: zod293.ZodString;
|
|
36
|
+
status: zod293.ZodEnum<{
|
|
37
|
+
draft: "draft";
|
|
38
|
+
open: "open";
|
|
39
|
+
closed: "closed";
|
|
40
|
+
static: "static";
|
|
41
|
+
}>;
|
|
42
|
+
dataSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
43
|
+
uiSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
44
|
+
version: zod293.ZodNumber;
|
|
45
|
+
createdAt: zod293.ZodDate;
|
|
46
|
+
updatedAt: zod293.ZodDate;
|
|
47
|
+
}, zod_v4_core19.$strip>> | undefined>, string, string>;
|
|
48
|
+
useCreateForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api9.NonGetHTTPMethod, "/admin/forms", _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | zod293.ZodObject<{
|
|
49
|
+
status: zod293.ZodEnum<{
|
|
50
|
+
draft: "draft";
|
|
51
|
+
open: "open";
|
|
52
|
+
closed: "closed";
|
|
53
|
+
static: "static";
|
|
54
|
+
}>;
|
|
55
|
+
title: zod293.ZodString;
|
|
56
|
+
description: zod293.ZodNullable<zod293.ZodString>;
|
|
57
|
+
slug: zod293.ZodString;
|
|
58
|
+
dataSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
59
|
+
uiSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
60
|
+
}, zod_v4_core19.$strip> | undefined, zod293.ZodString | zod293.ZodArray<zod293.ZodObject<{
|
|
61
|
+
id: zod293.ZodString;
|
|
62
|
+
title: zod293.ZodString;
|
|
63
|
+
description: zod293.ZodNullable<zod293.ZodString>;
|
|
64
|
+
slug: zod293.ZodString;
|
|
65
|
+
status: zod293.ZodEnum<{
|
|
66
|
+
draft: "draft";
|
|
67
|
+
open: "open";
|
|
68
|
+
closed: "closed";
|
|
69
|
+
static: "static";
|
|
70
|
+
}>;
|
|
71
|
+
dataSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
72
|
+
uiSchema: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
73
|
+
version: zod293.ZodNumber;
|
|
74
|
+
createdAt: zod293.ZodDate;
|
|
75
|
+
updatedAt: zod293.ZodDate;
|
|
76
|
+
}, zod_v4_core19.$strip>> | undefined, string, string>;
|
|
77
|
+
useUpdateForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api9.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | zod293.ZodObject<{
|
|
78
|
+
status: zod293.ZodOptional<zod293.ZodEnum<{
|
|
79
|
+
draft: "draft";
|
|
80
|
+
open: "open";
|
|
81
|
+
closed: "closed";
|
|
82
|
+
static: "static";
|
|
83
|
+
}>>;
|
|
84
|
+
title: zod293.ZodOptional<zod293.ZodString>;
|
|
85
|
+
description: zod293.ZodOptional<zod293.ZodNullable<zod293.ZodString>>;
|
|
86
|
+
slug: zod293.ZodOptional<zod293.ZodString>;
|
|
87
|
+
dataSchema: zod293.ZodOptional<zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>>;
|
|
88
|
+
uiSchema: zod293.ZodOptional<zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>>;
|
|
89
|
+
}, zod_v4_core19.$strip> | undefined, _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
|
|
90
|
+
useDeleteForm: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api9.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | zod293.ZodObject<{
|
|
91
|
+
status: zod293.ZodOptional<zod293.ZodEnum<{
|
|
92
|
+
draft: "draft";
|
|
93
|
+
open: "open";
|
|
94
|
+
closed: "closed";
|
|
95
|
+
static: "static";
|
|
96
|
+
}>>;
|
|
97
|
+
title: zod293.ZodOptional<zod293.ZodString>;
|
|
98
|
+
description: zod293.ZodOptional<zod293.ZodNullable<zod293.ZodString>>;
|
|
99
|
+
slug: zod293.ZodOptional<zod293.ZodString>;
|
|
100
|
+
dataSchema: zod293.ZodOptional<zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>>;
|
|
101
|
+
uiSchema: zod293.ZodOptional<zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>>;
|
|
102
|
+
}, zod_v4_core19.$strip> | undefined, _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
|
|
103
|
+
useSubmissions: _fragno_dev_core_vanilla0.FragnoVanillaListeners<"GET", "/admin/forms/:id/submissions", zod293.ZodArray<zod293.ZodObject<{
|
|
104
|
+
id: zod293.ZodString;
|
|
105
|
+
formId: zod293.ZodNullable<zod293.ZodString>;
|
|
106
|
+
formVersion: zod293.ZodNumber;
|
|
107
|
+
data: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
108
|
+
submittedAt: zod293.ZodDate;
|
|
109
|
+
ip: zod293.ZodNullable<zod293.ZodString>;
|
|
110
|
+
userAgent: zod293.ZodNullable<zod293.ZodString>;
|
|
111
|
+
}, zod_v4_core19.$strip>>, string, "sortOrder">;
|
|
112
|
+
useSubmission: _fragno_dev_core_vanilla0.FragnoVanillaListeners<"GET", "/admin/submissions/:id", NonNullable<_standard_schema_spec15.StandardSchemaV1<unknown, unknown> | zod293.ZodObject<{
|
|
113
|
+
id: zod293.ZodString;
|
|
114
|
+
formId: zod293.ZodNullable<zod293.ZodString>;
|
|
115
|
+
formVersion: zod293.ZodNumber;
|
|
116
|
+
data: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
117
|
+
submittedAt: zod293.ZodDate;
|
|
118
|
+
ip: zod293.ZodNullable<zod293.ZodString>;
|
|
119
|
+
userAgent: zod293.ZodNullable<zod293.ZodString>;
|
|
120
|
+
}, zod_v4_core19.$strip> | undefined>, "NOT_FOUND", string>;
|
|
121
|
+
useDeleteSubmission: _fragno_dev_core_vanilla0.FragnoVanillaMutator<_fragno_dev_core_api9.NonGetHTTPMethod, "/admin/submissions/:id", _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec15.StandardSchemaV1<unknown, unknown> | zod293.ZodObject<{
|
|
122
|
+
id: zod293.ZodString;
|
|
123
|
+
formId: zod293.ZodNullable<zod293.ZodString>;
|
|
124
|
+
formVersion: zod293.ZodNumber;
|
|
125
|
+
data: zod293.ZodRecord<zod293.ZodString, zod293.ZodUnknown>;
|
|
126
|
+
submittedAt: zod293.ZodDate;
|
|
127
|
+
ip: zod293.ZodNullable<zod293.ZodString>;
|
|
128
|
+
userAgent: zod293.ZodNullable<zod293.ZodString>;
|
|
129
|
+
}, zod_v4_core19.$strip> | undefined, "NOT_FOUND", string>;
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=vanilla.d.ts.map
|
|
132
|
+
|
|
133
|
+
//#endregion
|
|
134
|
+
export { createFormsClient };
|
|
135
|
+
//# sourceMappingURL=vanilla.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vanilla.d.ts","names":[],"sources":["../../../../src/client/vanilla.ts"],"sourcesContent":[],"mappings":";;;;;;;;iBAIgB,iBAAA,UAA0B;;QAA6B,MAAA,CAAA;;;;;MAAvD,KAAA,EAAA,OAAiB;MAAA,IAAA,EAAA,MAAA;MAAS,MAAA,EAAA,QAAA;MAA6B,MAAA,EAAA,QAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { createFormsClients, isGetHook, isMutatorHook } from "../src-DElBPLyi.js";
|
|
2
|
+
|
|
3
|
+
//#region ../fragno/dist/util/async.js
|
|
4
|
+
/**
|
|
5
|
+
* Creates an async iterator from a subscribe function that follows the observable pattern.
|
|
6
|
+
*
|
|
7
|
+
* @template T The type of values produced by the store.
|
|
8
|
+
* @param subscribe A function that subscribes to store updates. It receives a callback to be
|
|
9
|
+
* called on each update, and returns an unsubscribe function.
|
|
10
|
+
* @returns An async generator that yields store values as they are produced.
|
|
11
|
+
*/
|
|
12
|
+
function createAsyncIteratorFromCallback(subscribe) {
|
|
13
|
+
const queue = [];
|
|
14
|
+
let unsubscribe = null;
|
|
15
|
+
let resolveNext = null;
|
|
16
|
+
const unsubscribeFunc = subscribe((value) => {
|
|
17
|
+
if (resolveNext) {
|
|
18
|
+
resolveNext({
|
|
19
|
+
value,
|
|
20
|
+
done: false
|
|
21
|
+
});
|
|
22
|
+
resolveNext = null;
|
|
23
|
+
} else queue.push(value);
|
|
24
|
+
});
|
|
25
|
+
if (typeof unsubscribeFunc === "function") unsubscribe = unsubscribeFunc;
|
|
26
|
+
return async function* () {
|
|
27
|
+
try {
|
|
28
|
+
while (true) if (queue.length > 0) yield queue.shift();
|
|
29
|
+
else yield await new Promise((resolve) => {
|
|
30
|
+
resolveNext = (result) => {
|
|
31
|
+
if (!result.done) resolve(result.value);
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
} finally {
|
|
35
|
+
if (unsubscribe) unsubscribe();
|
|
36
|
+
}
|
|
37
|
+
}();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
//#region ../fragno/dist/client/vanilla.js
|
|
42
|
+
function createVanillaListeners(hook) {
|
|
43
|
+
return ({ path, query } = {}) => {
|
|
44
|
+
const store = hook.store({
|
|
45
|
+
path,
|
|
46
|
+
query
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
listen: (callback) => {
|
|
50
|
+
return store.listen(({ loading, error, data }) => callback({
|
|
51
|
+
loading,
|
|
52
|
+
error,
|
|
53
|
+
data
|
|
54
|
+
}));
|
|
55
|
+
},
|
|
56
|
+
subscribe: (callback) => {
|
|
57
|
+
return store.subscribe(({ loading, error, data }) => callback({
|
|
58
|
+
loading,
|
|
59
|
+
error,
|
|
60
|
+
data
|
|
61
|
+
}));
|
|
62
|
+
},
|
|
63
|
+
refetch: () => {
|
|
64
|
+
return store.revalidate();
|
|
65
|
+
},
|
|
66
|
+
get: () => {
|
|
67
|
+
return store.get();
|
|
68
|
+
},
|
|
69
|
+
[Symbol.asyncIterator]() {
|
|
70
|
+
return createAsyncIteratorFromCallback((callback) => store.listen(({ loading, error, data }) => callback({
|
|
71
|
+
loading,
|
|
72
|
+
error,
|
|
73
|
+
data
|
|
74
|
+
})));
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function createVanillaMutator(hook) {
|
|
80
|
+
return () => {
|
|
81
|
+
const store = hook.mutatorStore;
|
|
82
|
+
return {
|
|
83
|
+
subscribe: (callback) => {
|
|
84
|
+
return store.subscribe((value) => {
|
|
85
|
+
callback({
|
|
86
|
+
loading: value.loading ?? false,
|
|
87
|
+
error: value.error,
|
|
88
|
+
data: value.data
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
get: () => {
|
|
93
|
+
const { loading, error, data } = store.get();
|
|
94
|
+
return {
|
|
95
|
+
loading: loading ?? false,
|
|
96
|
+
error,
|
|
97
|
+
data
|
|
98
|
+
};
|
|
99
|
+
},
|
|
100
|
+
mutate: ({ body, path, query }) => {
|
|
101
|
+
return store.mutate({
|
|
102
|
+
body,
|
|
103
|
+
path,
|
|
104
|
+
query
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
[Symbol.asyncIterator]() {
|
|
108
|
+
return createAsyncIteratorFromCallback((callback) => store.listen((value) => {
|
|
109
|
+
callback({
|
|
110
|
+
loading: value.loading ?? false,
|
|
111
|
+
error: value.error,
|
|
112
|
+
data: value.data
|
|
113
|
+
});
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function useFragno(clientObj) {
|
|
120
|
+
const result = {};
|
|
121
|
+
for (const key in clientObj) {
|
|
122
|
+
if (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;
|
|
123
|
+
const hook = clientObj[key];
|
|
124
|
+
if (isGetHook(hook)) result[key] = createVanillaListeners(hook);
|
|
125
|
+
else if (isMutatorHook(hook)) result[key] = createVanillaMutator(hook);
|
|
126
|
+
else result[key] = hook;
|
|
127
|
+
}
|
|
128
|
+
return result;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
//#endregion
|
|
132
|
+
//#region src/client/vanilla.ts
|
|
133
|
+
function createFormsClient(config = {}) {
|
|
134
|
+
return useFragno(createFormsClients(config));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
export { createFormsClient };
|
|
139
|
+
//# sourceMappingURL=vanilla.js.map
|
|
@@ -0,0 +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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"}
|