@fragno-dev/telegram-fragment 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 +87 -0
- package/dist/browser/client/react.d.ts +226 -0
- package/dist/browser/client/react.d.ts.map +1 -0
- package/dist/browser/client/react.js +166 -0
- package/dist/browser/client/react.js.map +1 -0
- package/dist/browser/client/solid.d.ts +228 -0
- package/dist/browser/client/solid.d.ts.map +1 -0
- package/dist/browser/client/solid.js +136 -0
- package/dist/browser/client/solid.js.map +1 -0
- package/dist/browser/client/svelte.d.ts +223 -0
- package/dist/browser/client/svelte.d.ts.map +1 -0
- package/dist/browser/client/svelte.js +134 -0
- package/dist/browser/client/svelte.js.map +1 -0
- package/dist/browser/client/vanilla.d.ts +252 -0
- package/dist/browser/client/vanilla.d.ts.map +1 -0
- package/dist/browser/client/vanilla.js +160 -0
- package/dist/browser/client/vanilla.js.map +1 -0
- package/dist/browser/client/vue.d.ts +226 -0
- package/dist/browser/client/vue.d.ts.map +1 -0
- package/dist/browser/client/vue.js +133 -0
- package/dist/browser/client/vue.js.map +1 -0
- package/dist/browser/client-Bk-J98pf.d.ts +679 -0
- package/dist/browser/client-Bk-J98pf.d.ts.map +1 -0
- package/dist/browser/index.d.ts +1392 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +24 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/schema-QDMf15Vn.js +2343 -0
- package/dist/browser/schema-QDMf15Vn.js.map +1 -0
- package/dist/node/command-handler-api.js +42 -0
- package/dist/node/command-handler-api.js.map +1 -0
- package/dist/node/definition.d.ts +194 -0
- package/dist/node/definition.d.ts.map +1 -0
- package/dist/node/definition.js +90 -0
- package/dist/node/definition.js.map +1 -0
- package/dist/node/index.d.ts +587 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +29 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/routes.d.ts +385 -0
- package/dist/node/routes.d.ts.map +1 -0
- package/dist/node/routes.js +392 -0
- package/dist/node/routes.js.map +1 -0
- package/dist/node/schema.d.ts +13 -0
- package/dist/node/schema.d.ts.map +1 -0
- package/dist/node/schema.js +78 -0
- package/dist/node/schema.js.map +1 -0
- package/dist/node/services.js +589 -0
- package/dist/node/services.js.map +1 -0
- package/dist/node/telegram-api.js +41 -0
- package/dist/node/telegram-api.js.map +1 -0
- package/dist/node/telegram-utils.js +61 -0
- package/dist/node/telegram-utils.js.map +1 -0
- package/dist/node/types.d.ts +245 -0
- package/dist/node/types.d.ts.map +1 -0
- package/dist/node/types.js +92 -0
- package/dist/node/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { a as FragnoClientError, c as InferOr, d as MaybeExtractPathParamsOrWiden, f as QueryParamsHint, i as ReadableAtom, o as NonGetHTTPMethod, s as FragnoPublicClientConfig } from "../client-Bk-J98pf.js";
|
|
2
|
+
import * as zod from "zod";
|
|
3
|
+
import { Ref } from "vue";
|
|
4
|
+
import * as zod_v4_core0 from "zod/v4/core";
|
|
5
|
+
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
|
+
|
|
7
|
+
//#region ../fragno/dist/client/vue.d.ts
|
|
8
|
+
//#region src/client/vue.d.ts
|
|
9
|
+
type FragnoVueHook<_TMethod extends "GET", TPath$1 extends string, TOutputSchema$1 extends StandardSchemaV1, TErrorCode$1 extends string, TQueryParameters$1 extends string> = (args?: {
|
|
10
|
+
path?: MaybeExtractPathParamsOrWiden<TPath$1, string | Ref<string> | ReadableAtom<string>>;
|
|
11
|
+
query?: QueryParamsHint<TQueryParameters$1, string | Ref<string> | ReadableAtom<string>>;
|
|
12
|
+
}) => {
|
|
13
|
+
data: Ref<InferOr<TOutputSchema$1, undefined>>;
|
|
14
|
+
loading: Ref<boolean>;
|
|
15
|
+
error: Ref<FragnoClientError<TErrorCode$1[number]> | undefined>;
|
|
16
|
+
};
|
|
17
|
+
type FragnoVueMutator<_TMethod extends NonGetHTTPMethod, TPath$1 extends string, TInputSchema$1 extends StandardSchemaV1 | undefined, TOutputSchema$1 extends StandardSchemaV1 | undefined, TErrorCode$1 extends string, TQueryParameters$1 extends string> = () => {
|
|
18
|
+
mutate: (args: {
|
|
19
|
+
body?: InferOr<TInputSchema$1, undefined>;
|
|
20
|
+
path?: MaybeExtractPathParamsOrWiden<TPath$1, string | Ref<string> | ReadableAtom<string>>;
|
|
21
|
+
query?: QueryParamsHint<TQueryParameters$1, string | Ref<string> | ReadableAtom<string>>;
|
|
22
|
+
}) => Promise<InferOr<TOutputSchema$1, undefined>>;
|
|
23
|
+
loading: Ref<boolean | undefined>;
|
|
24
|
+
error: Ref<FragnoClientError<TErrorCode$1[number]> | undefined>;
|
|
25
|
+
data: Ref<InferOr<TOutputSchema$1, undefined>>;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Type helper that wraps any Store fields of the object into reactive Vue refs.
|
|
29
|
+
*/
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/client/vue.d.ts
|
|
32
|
+
declare function createTelegramFragmentClient(config?: FragnoPublicClientConfig): {
|
|
33
|
+
useCommands: FragnoVueHook<"GET", "/commands", zod.ZodObject<{
|
|
34
|
+
commands: zod.ZodArray<zod.ZodObject<{
|
|
35
|
+
name: zod.ZodString;
|
|
36
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
37
|
+
scopes: zod.ZodArray<zod.ZodEnum<{
|
|
38
|
+
private: "private";
|
|
39
|
+
group: "group";
|
|
40
|
+
supergroup: "supergroup";
|
|
41
|
+
channel: "channel";
|
|
42
|
+
}>>;
|
|
43
|
+
enabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
44
|
+
effectiveScopes: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
45
|
+
private: "private";
|
|
46
|
+
group: "group";
|
|
47
|
+
supergroup: "supergroup";
|
|
48
|
+
channel: "channel";
|
|
49
|
+
}>>>;
|
|
50
|
+
binding: zod.ZodOptional<zod.ZodNullable<zod.ZodObject<{
|
|
51
|
+
enabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
52
|
+
scopes: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
53
|
+
private: "private";
|
|
54
|
+
group: "group";
|
|
55
|
+
supergroup: "supergroup";
|
|
56
|
+
channel: "channel";
|
|
57
|
+
}>>>;
|
|
58
|
+
}, zod_v4_core0.$strip>>>;
|
|
59
|
+
}, zod_v4_core0.$strip>>;
|
|
60
|
+
}, zod_v4_core0.$strip>, "chat_not_found", "chatId">;
|
|
61
|
+
useBindCommand: FragnoVueMutator<NonGetHTTPMethod, "/commands/bind", zod.ZodObject<{
|
|
62
|
+
chatId: zod.ZodString;
|
|
63
|
+
commandName: zod.ZodString;
|
|
64
|
+
enabled: zod.ZodDefault<zod.ZodOptional<zod.ZodBoolean>>;
|
|
65
|
+
scopes: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
66
|
+
private: "private";
|
|
67
|
+
group: "group";
|
|
68
|
+
supergroup: "supergroup";
|
|
69
|
+
channel: "channel";
|
|
70
|
+
}>>>;
|
|
71
|
+
}, zod_v4_core0.$strip> | undefined, zod.ZodObject<{
|
|
72
|
+
chatId: zod.ZodString;
|
|
73
|
+
commandName: zod.ZodString;
|
|
74
|
+
enabled: zod.ZodBoolean;
|
|
75
|
+
scopes: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
76
|
+
private: "private";
|
|
77
|
+
group: "group";
|
|
78
|
+
supergroup: "supergroup";
|
|
79
|
+
channel: "channel";
|
|
80
|
+
}>>>;
|
|
81
|
+
}, zod_v4_core0.$strip> | undefined, "chat_not_found" | "command_not_found" | "invalid_scopes", string>;
|
|
82
|
+
useChats: FragnoVueHook<"GET", "/chats", zod.ZodArray<zod.ZodObject<{
|
|
83
|
+
id: zod.ZodString;
|
|
84
|
+
type: zod.ZodEnum<{
|
|
85
|
+
private: "private";
|
|
86
|
+
group: "group";
|
|
87
|
+
supergroup: "supergroup";
|
|
88
|
+
channel: "channel";
|
|
89
|
+
}>;
|
|
90
|
+
title: zod.ZodNullable<zod.ZodString>;
|
|
91
|
+
username: zod.ZodNullable<zod.ZodString>;
|
|
92
|
+
isForum: zod.ZodBoolean;
|
|
93
|
+
commandBindings: zod.ZodNullable<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
|
|
94
|
+
enabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
95
|
+
scopes: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
96
|
+
private: "private";
|
|
97
|
+
group: "group";
|
|
98
|
+
supergroup: "supergroup";
|
|
99
|
+
channel: "channel";
|
|
100
|
+
}>>>;
|
|
101
|
+
}, zod_v4_core0.$loose>>>;
|
|
102
|
+
createdAt: zod.ZodDate;
|
|
103
|
+
updatedAt: zod.ZodDate;
|
|
104
|
+
}, zod_v4_core0.$strip>>, string, "type">;
|
|
105
|
+
useChat: FragnoVueHook<"GET", "/chats/:chatId", zod.ZodObject<{
|
|
106
|
+
chat: zod.ZodObject<{
|
|
107
|
+
id: zod.ZodString;
|
|
108
|
+
type: zod.ZodEnum<{
|
|
109
|
+
private: "private";
|
|
110
|
+
group: "group";
|
|
111
|
+
supergroup: "supergroup";
|
|
112
|
+
channel: "channel";
|
|
113
|
+
}>;
|
|
114
|
+
title: zod.ZodNullable<zod.ZodString>;
|
|
115
|
+
username: zod.ZodNullable<zod.ZodString>;
|
|
116
|
+
isForum: zod.ZodBoolean;
|
|
117
|
+
commandBindings: zod.ZodNullable<zod.ZodRecord<zod.ZodString, zod.ZodObject<{
|
|
118
|
+
enabled: zod.ZodOptional<zod.ZodBoolean>;
|
|
119
|
+
scopes: zod.ZodOptional<zod.ZodArray<zod.ZodEnum<{
|
|
120
|
+
private: "private";
|
|
121
|
+
group: "group";
|
|
122
|
+
supergroup: "supergroup";
|
|
123
|
+
channel: "channel";
|
|
124
|
+
}>>>;
|
|
125
|
+
}, zod_v4_core0.$loose>>>;
|
|
126
|
+
createdAt: zod.ZodDate;
|
|
127
|
+
updatedAt: zod.ZodDate;
|
|
128
|
+
}, zod_v4_core0.$strip>;
|
|
129
|
+
members: zod.ZodArray<zod.ZodObject<{
|
|
130
|
+
id: zod.ZodString;
|
|
131
|
+
chatId: zod.ZodString;
|
|
132
|
+
userId: zod.ZodString;
|
|
133
|
+
status: zod.ZodString;
|
|
134
|
+
joinedAt: zod.ZodNullable<zod.ZodDate>;
|
|
135
|
+
leftAt: zod.ZodNullable<zod.ZodDate>;
|
|
136
|
+
user: zod.ZodNullable<zod.ZodObject<{
|
|
137
|
+
id: zod.ZodString;
|
|
138
|
+
username: zod.ZodNullable<zod.ZodString>;
|
|
139
|
+
firstName: zod.ZodString;
|
|
140
|
+
lastName: zod.ZodNullable<zod.ZodString>;
|
|
141
|
+
isBot: zod.ZodBoolean;
|
|
142
|
+
languageCode: zod.ZodNullable<zod.ZodString>;
|
|
143
|
+
createdAt: zod.ZodDate;
|
|
144
|
+
updatedAt: zod.ZodDate;
|
|
145
|
+
}, zod_v4_core0.$strip>>;
|
|
146
|
+
createdAt: zod.ZodDate;
|
|
147
|
+
updatedAt: zod.ZodDate;
|
|
148
|
+
}, zod_v4_core0.$strip>>;
|
|
149
|
+
}, zod_v4_core0.$strip>, "chat_not_found", string>;
|
|
150
|
+
useChatMessages: FragnoVueHook<"GET", "/chats/:chatId/messages", zod.ZodObject<{
|
|
151
|
+
messages: zod.ZodArray<zod.ZodObject<{
|
|
152
|
+
id: zod.ZodString;
|
|
153
|
+
chatId: zod.ZodString;
|
|
154
|
+
fromUserId: zod.ZodNullable<zod.ZodString>;
|
|
155
|
+
senderChatId: zod.ZodNullable<zod.ZodString>;
|
|
156
|
+
replyToMessageId: zod.ZodNullable<zod.ZodString>;
|
|
157
|
+
messageType: zod.ZodEnum<{
|
|
158
|
+
message: "message";
|
|
159
|
+
edited_message: "edited_message";
|
|
160
|
+
channel_post: "channel_post";
|
|
161
|
+
}>;
|
|
162
|
+
text: zod.ZodNullable<zod.ZodString>;
|
|
163
|
+
payload: zod.ZodNullable<zod.ZodUnknown>;
|
|
164
|
+
sentAt: zod.ZodDate;
|
|
165
|
+
editedAt: zod.ZodNullable<zod.ZodDate>;
|
|
166
|
+
commandName: zod.ZodNullable<zod.ZodString>;
|
|
167
|
+
fromUser: zod.ZodNullable<zod.ZodObject<{
|
|
168
|
+
id: zod.ZodString;
|
|
169
|
+
username: zod.ZodNullable<zod.ZodString>;
|
|
170
|
+
firstName: zod.ZodString;
|
|
171
|
+
lastName: zod.ZodNullable<zod.ZodString>;
|
|
172
|
+
isBot: zod.ZodBoolean;
|
|
173
|
+
languageCode: zod.ZodNullable<zod.ZodString>;
|
|
174
|
+
createdAt: zod.ZodDate;
|
|
175
|
+
updatedAt: zod.ZodDate;
|
|
176
|
+
}, zod_v4_core0.$strip>>;
|
|
177
|
+
}, zod_v4_core0.$strip>>;
|
|
178
|
+
cursor: zod.ZodOptional<zod.ZodString>;
|
|
179
|
+
hasNextPage: zod.ZodBoolean;
|
|
180
|
+
}, zod_v4_core0.$strip>, string, "pageSize" | "cursor" | "order">;
|
|
181
|
+
useChatAction: FragnoVueMutator<NonGetHTTPMethod, "/chats/:chatId/actions", zod.ZodObject<{
|
|
182
|
+
action: zod.ZodEnum<{
|
|
183
|
+
typing: "typing";
|
|
184
|
+
upload_photo: "upload_photo";
|
|
185
|
+
record_video: "record_video";
|
|
186
|
+
upload_video: "upload_video";
|
|
187
|
+
record_voice: "record_voice";
|
|
188
|
+
upload_voice: "upload_voice";
|
|
189
|
+
upload_document: "upload_document";
|
|
190
|
+
choose_sticker: "choose_sticker";
|
|
191
|
+
find_location: "find_location";
|
|
192
|
+
record_video_note: "record_video_note";
|
|
193
|
+
upload_video_note: "upload_video_note";
|
|
194
|
+
}>;
|
|
195
|
+
}, zod_v4_core0.$strip> | undefined, zod.ZodObject<{
|
|
196
|
+
ok: zod.ZodBoolean;
|
|
197
|
+
}, zod_v4_core0.$strip> | undefined, "TELEGRAM_API_ERROR", string>;
|
|
198
|
+
useSendMessage: FragnoVueMutator<NonGetHTTPMethod, "/chats/:chatId/send", zod.ZodObject<{
|
|
199
|
+
text: zod.ZodString;
|
|
200
|
+
parseMode: zod.ZodOptional<zod.ZodEnum<{
|
|
201
|
+
MarkdownV2: "MarkdownV2";
|
|
202
|
+
Markdown: "Markdown";
|
|
203
|
+
HTML: "HTML";
|
|
204
|
+
}>>;
|
|
205
|
+
disableWebPagePreview: zod.ZodOptional<zod.ZodBoolean>;
|
|
206
|
+
replyToMessageId: zod.ZodOptional<zod.ZodCoercedNumber<unknown>>;
|
|
207
|
+
}, zod_v4_core0.$strip> | undefined, zod.ZodObject<{
|
|
208
|
+
ok: zod.ZodBoolean;
|
|
209
|
+
queued: zod.ZodBoolean;
|
|
210
|
+
}, zod_v4_core0.$strip> | undefined, string, string>;
|
|
211
|
+
useEditMessage: FragnoVueMutator<NonGetHTTPMethod, "/chats/:chatId/messages/:messageId/edit", zod.ZodObject<{
|
|
212
|
+
text: zod.ZodString;
|
|
213
|
+
parseMode: zod.ZodOptional<zod.ZodEnum<{
|
|
214
|
+
MarkdownV2: "MarkdownV2";
|
|
215
|
+
Markdown: "Markdown";
|
|
216
|
+
HTML: "HTML";
|
|
217
|
+
}>>;
|
|
218
|
+
disableWebPagePreview: zod.ZodOptional<zod.ZodBoolean>;
|
|
219
|
+
}, zod_v4_core0.$strip> | undefined, zod.ZodObject<{
|
|
220
|
+
ok: zod.ZodBoolean;
|
|
221
|
+
queued: zod.ZodBoolean;
|
|
222
|
+
}, zod_v4_core0.$strip> | undefined, "INVALID_MESSAGE_ID", string>;
|
|
223
|
+
};
|
|
224
|
+
//#endregion
|
|
225
|
+
export { createTelegramFragmentClient };
|
|
226
|
+
//# sourceMappingURL=vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.d.ts","names":["MaybeExtractPathParamsOrWiden","QueryParamsHint","InferOr","NonGetHTTPMethod","FragnoClientError","FragnoClientHookData","FragnoClientMutatorData","FragnoStoreFactoryData","FragnoStoreObjectData","ReadableAtom","Store","StoreValue","DeepReadonly","Ref","ShallowRef","UnwrapNestedRefs","StandardSchemaV1","FragnoVueHook","_TMethod","TPath$1","TOutputSchema$1","TErrorCode$1","TQueryParameters$1","path","query","args","data","loading","error","FragnoVueMutator","TInputSchema$1","Promise","mutate","body","FragnoVueStoreRef","T","FragnoVueStoreValue","K","FragnoVueStore","TArgs","refToAtom","ref","useFragno","Record","TPath","TOutputSchema","TErrorCode","TQueryParameters","M","TInputSchema","TStoreObj","TStoreArgs","clientObj","useStore","SomeStore","Value","store"],"sources":["../../../../fragno/dist/client/vue.d.ts","../../../src/client/vue.ts"],"mappings":";;;;;;;;KAUKiB,aAAAA,yEAAsFD,gBAAAA,qEAAqFS,IAAAA;EAC9KF,IAAAA,GAAOvB,6BAAAA,CAA8BmB,OAAAA,WAAkBN,GAAAA,WAAcJ,YAAAA;EACrEe,KAAAA,GAAQvB,eAAAA,CAAgBqB,kBAAAA,WAA6BT,GAAAA,WAAcJ,YAAAA;AAAAA;EAEnEiB,IAAAA,EAAMb,GAAAA,CAAIX,OAAAA,CAAQkB,eAAAA;EAClBO,OAAAA,EAASd,GAAAA;EACTe,KAAAA,EAAOf,GAAAA,CAAIT,iBAAAA,CAAkBiB,YAAAA;AAAAA;AAAAA,KAE1BQ,gBAAAA,kBAAkC1B,gBAAAA,iDAAiEa,gBAAAA,sCAAsDA,gBAAAA;EAC5JgB,MAAAA,GAASP,IAAAA;IACPQ,IAAAA,GAAO/B,OAAAA,CAAQ4B,cAAAA;IACfP,IAAAA,GAAOvB,6BAAAA,CAA8BmB,OAAAA,WAAkBN,GAAAA,WAAcJ,YAAAA;IACrEe,KAAAA,GAAQvB,eAAAA,CAAgBqB,kBAAAA,WAA6BT,GAAAA,WAAcJ,YAAAA;EAAAA,MAC/DsB,OAAAA,CAAQ7B,OAAAA,CAAQkB,eAAAA;EACtBO,OAAAA,EAASd,GAAAA;EACTe,KAAAA,EAAOf,GAAAA,CAAIT,iBAAAA,CAAkBiB,YAAAA;EAC7BK,IAAAA,EAAMb,GAAAA,CAAIX,OAAAA,CAAQkB,eAAAA;AAAAA;;;;;;iBCrBJ,4BAAA,CAA6B,MAAA,GAAQ,wBAAA;;;YAA6B,GAAA,CAAA,SAAA"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { c as isMutatorHook, d as isReadableAtom, l as isStore, s as isGetHook, u as atom } from "../schema-QDMf15Vn.js";
|
|
2
|
+
import { createTelegramFragmentClients } from "../index.js";
|
|
3
|
+
import { computed, getCurrentScope, isRef, onScopeDispose, ref, shallowRef, watch } from "vue";
|
|
4
|
+
|
|
5
|
+
//#region ../fragno/dist/client/vue.js
|
|
6
|
+
/**
|
|
7
|
+
* Converts a Vue Ref to a NanoStore Atom.
|
|
8
|
+
*
|
|
9
|
+
* This is used to convert Vue refs to atoms, so that we can use them in the store.
|
|
10
|
+
*
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
function refToAtom(ref$1) {
|
|
14
|
+
const a = /* @__PURE__ */ atom(ref$1.value);
|
|
15
|
+
watch(ref$1, (newVal) => {
|
|
16
|
+
a.set(newVal);
|
|
17
|
+
});
|
|
18
|
+
return a;
|
|
19
|
+
}
|
|
20
|
+
function createVueHook(hook) {
|
|
21
|
+
return ({ path, query } = {}) => {
|
|
22
|
+
const pathParams = {};
|
|
23
|
+
const queryParams = {};
|
|
24
|
+
for (const [key, value] of Object.entries(path ?? {})) {
|
|
25
|
+
const v = value;
|
|
26
|
+
pathParams[key] = isRef(v) ? refToAtom(v) : v;
|
|
27
|
+
}
|
|
28
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
29
|
+
const v = value;
|
|
30
|
+
queryParams[key] = isRef(v) ? refToAtom(v) : v;
|
|
31
|
+
}
|
|
32
|
+
const store = hook.store({
|
|
33
|
+
path: pathParams,
|
|
34
|
+
query: queryParams
|
|
35
|
+
});
|
|
36
|
+
const data = ref();
|
|
37
|
+
const loading = ref();
|
|
38
|
+
const error = ref();
|
|
39
|
+
const unsubscribe = store.subscribe((updatedStoreValue) => {
|
|
40
|
+
data.value = updatedStoreValue.data;
|
|
41
|
+
loading.value = updatedStoreValue.loading;
|
|
42
|
+
error.value = updatedStoreValue.error;
|
|
43
|
+
});
|
|
44
|
+
if (getCurrentScope()) onScopeDispose(() => {
|
|
45
|
+
unsubscribe();
|
|
46
|
+
});
|
|
47
|
+
return {
|
|
48
|
+
data,
|
|
49
|
+
loading,
|
|
50
|
+
error
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function createVueMutator(hook) {
|
|
55
|
+
return () => {
|
|
56
|
+
const store = useStore(hook.mutatorStore);
|
|
57
|
+
const mutate = async (args) => {
|
|
58
|
+
const { body, path, query } = args;
|
|
59
|
+
const pathParams = {};
|
|
60
|
+
const queryParams = {};
|
|
61
|
+
for (const [key, value] of Object.entries(path ?? {})) {
|
|
62
|
+
const v = value;
|
|
63
|
+
pathParams[key] = isRef(v) ? v.value : v;
|
|
64
|
+
}
|
|
65
|
+
for (const [key, value] of Object.entries(query ?? {})) {
|
|
66
|
+
const v = value;
|
|
67
|
+
queryParams[key] = isRef(v) ? v.value : v;
|
|
68
|
+
}
|
|
69
|
+
return store.value.mutate({
|
|
70
|
+
body,
|
|
71
|
+
path: pathParams,
|
|
72
|
+
query: queryParams
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
return {
|
|
76
|
+
mutate,
|
|
77
|
+
loading: computed(() => store.value.loading),
|
|
78
|
+
error: computed(() => store.value.error),
|
|
79
|
+
data: computed(() => store.value.data)
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
function unwrapVueStoreValue(value) {
|
|
84
|
+
if (isReadableAtom(value)) return useStore(value);
|
|
85
|
+
const result = {};
|
|
86
|
+
for (const key in value) {
|
|
87
|
+
if (!Object.prototype.hasOwnProperty.call(value, key)) continue;
|
|
88
|
+
const fieldValue = value[key];
|
|
89
|
+
if (isReadableAtom(fieldValue)) result[key] = useStore(fieldValue);
|
|
90
|
+
else result[key] = fieldValue;
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
function createVueStore(hook) {
|
|
95
|
+
return (...args) => {
|
|
96
|
+
const value = "factory" in hook ? hook.factory(...args) : hook.obj;
|
|
97
|
+
const disposer = value[Symbol.dispose];
|
|
98
|
+
if (typeof disposer === "function" && getCurrentScope()) onScopeDispose(() => {
|
|
99
|
+
disposer.call(value);
|
|
100
|
+
});
|
|
101
|
+
return unwrapVueStoreValue(value);
|
|
102
|
+
};
|
|
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] = createVueHook(hook);
|
|
110
|
+
else if (isMutatorHook(hook)) result[key] = createVueMutator(hook);
|
|
111
|
+
else if (isStore(hook)) result[key] = createVueStore(hook);
|
|
112
|
+
else result[key] = hook;
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
function useStore(store) {
|
|
117
|
+
const state = shallowRef();
|
|
118
|
+
const unsubscribe = store.subscribe((value) => {
|
|
119
|
+
state.value = value;
|
|
120
|
+
});
|
|
121
|
+
if (getCurrentScope()) onScopeDispose(unsubscribe);
|
|
122
|
+
return state;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
//#endregion
|
|
126
|
+
//#region src/client/vue.ts
|
|
127
|
+
function createTelegramFragmentClient(config = {}) {
|
|
128
|
+
return useFragno(createTelegramFragmentClients(config));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
//#endregion
|
|
132
|
+
export { createTelegramFragmentClient };
|
|
133
|
+
//# sourceMappingURL=vue.js.map
|
|
@@ -0,0 +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","unwrapVueStoreValue","result","prototype","hasOwnProperty","call","fieldValue","createVueStore","factory","obj","disposer","Symbol","dispose","useFragno","clientObj","state","FragnoPublicClientConfig","useFragno","createTelegramFragmentClients","createTelegramFragmentClient","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 { createTelegramFragmentClients } from \"..\";\n\nexport function createTelegramFragmentClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createTelegramFragmentClients(config));\n}\n"],"mappings":"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"}
|