@yaebal/test 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +214 -2
- package/lib/index.d.ts +166 -13
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +308 -32
- package/lib/index.js.map +1 -1
- package/lib/index.test.js +149 -2
- package/lib/index.test.js.map +1 -1
- package/package.json +2 -2
- package/src/index.test.ts +220 -1
- package/src/index.ts +495 -34
package/lib/index.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @yaebal/test — testing utilities for yaebal bots
|
|
2
|
+
* @yaebal/test — testing utilities for yaebal bots, with zero dependency on any
|
|
3
|
+
* test runner or assertion library. Works with `node:test`, vitest, bun:test,
|
|
4
|
+
* jest, ava — anything that can `await` a promise and call `assert`.
|
|
3
5
|
*
|
|
4
6
|
* every plugin test used to hand-build fake updates and a mock api. this package
|
|
5
|
-
* extracts that boilerplate: {@link mockApi} records every call
|
|
6
|
-
*
|
|
7
|
-
*
|
|
7
|
+
* extracts that boilerplate: {@link mockApi} records every call (and can drive
|
|
8
|
+
* real `before`/`after`/`onError` hooks and simulate failures), the `*Update`
|
|
9
|
+
* factories produce real {@link Update} shapes for every update kind, and
|
|
10
|
+
* {@link createContext} wraps one in a core {@link Context}.
|
|
8
11
|
*/
|
|
9
12
|
import { Context, } from "@yaebal/core";
|
|
10
13
|
/** default results for known methods; everything else resolves to `{}`. */
|
|
11
|
-
function
|
|
14
|
+
function builtinResult(method, nextMessageId) {
|
|
12
15
|
if (method.startsWith("send") || method === "copyMessage" || method === "forwardMessage") {
|
|
13
|
-
return { message_id:
|
|
16
|
+
return { message_id: nextMessageId() };
|
|
14
17
|
}
|
|
15
18
|
if (method === "answerCallbackQuery")
|
|
16
19
|
return true;
|
|
@@ -20,60 +23,149 @@ function defaultResult(method) {
|
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* a fake {@link Api} whose every method records `{ method, params }` into `calls`
|
|
23
|
-
* and resolves to a sensible default (`
|
|
24
|
-
* `answerCallbackQuery`, `{}` otherwise)
|
|
25
|
-
* `onError`
|
|
26
|
+
* and resolves to a sensible default (auto-incrementing `message_id` for `send*`,
|
|
27
|
+
* `true` for `answerCallbackQuery`, `{}` otherwise) — or to whatever `options.results`
|
|
28
|
+
* says. `before`/`after`/`onError` are real hook registrars (not no-ops): register
|
|
29
|
+
* a hook the same way you would on the production `Api` and it actually runs,
|
|
30
|
+
* including retries requested by an `onError` hook. the mock never actually waits
|
|
31
|
+
* on a requested `delayMs` — retries settle instantly, so tests stay fast.
|
|
26
32
|
*/
|
|
27
|
-
export function mockApi() {
|
|
33
|
+
export function mockApi(options = {}) {
|
|
28
34
|
const calls = [];
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
35
|
+
const overrides = { ...options.results };
|
|
36
|
+
const attempts = new Map();
|
|
37
|
+
let nextMessageId = 1;
|
|
38
|
+
const hooks = {
|
|
39
|
+
before: [],
|
|
40
|
+
after: [],
|
|
41
|
+
onError: [],
|
|
42
|
+
};
|
|
43
|
+
function resolveResult(method, params) {
|
|
44
|
+
const attempt = (attempts.get(method) ?? 0) + 1;
|
|
45
|
+
attempts.set(method, attempt);
|
|
46
|
+
const override = overrides[method];
|
|
47
|
+
if (typeof override === "function") {
|
|
48
|
+
return override(params, attempt);
|
|
49
|
+
}
|
|
50
|
+
return override !== undefined ? override : builtinResult(method, () => nextMessageId++);
|
|
51
|
+
}
|
|
52
|
+
const call = async (method, params) => {
|
|
53
|
+
let p = params;
|
|
54
|
+
for (const hook of hooks.before) {
|
|
55
|
+
const next = await hook(method, p);
|
|
56
|
+
if (next !== undefined)
|
|
57
|
+
p = next;
|
|
58
|
+
}
|
|
59
|
+
for (let attempt = 1;; attempt++) {
|
|
60
|
+
calls.push({ method, params: p });
|
|
61
|
+
let result;
|
|
62
|
+
try {
|
|
63
|
+
result = resolveResult(method, p);
|
|
64
|
+
if (result instanceof Error)
|
|
65
|
+
throw result;
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
let retry;
|
|
69
|
+
for (const hook of hooks.onError) {
|
|
70
|
+
const action = await hook(method, error, attempt);
|
|
71
|
+
if (action?.retry) {
|
|
72
|
+
retry = action;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (!retry)
|
|
77
|
+
throw error;
|
|
78
|
+
continue; // the mock never actually waits on retry.delayMs
|
|
79
|
+
}
|
|
80
|
+
for (const hook of hooks.after) {
|
|
81
|
+
const next = await hook(method, p, result);
|
|
82
|
+
if (next !== undefined)
|
|
83
|
+
result = next;
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
32
87
|
};
|
|
33
88
|
const registrar = {
|
|
34
|
-
call: (method, params) =>
|
|
89
|
+
call: (method, params) => call(method, params),
|
|
35
90
|
fileUrl: (filePath) => `https://example.invalid/file/${filePath}`,
|
|
36
|
-
before
|
|
37
|
-
|
|
38
|
-
|
|
91
|
+
before(hook) {
|
|
92
|
+
hooks.before.push(hook);
|
|
93
|
+
return api;
|
|
94
|
+
},
|
|
95
|
+
after(hook) {
|
|
96
|
+
hooks.after.push(hook);
|
|
97
|
+
return api;
|
|
98
|
+
},
|
|
99
|
+
onError(hook) {
|
|
100
|
+
hooks.onError.push(hook);
|
|
101
|
+
return api;
|
|
102
|
+
},
|
|
39
103
|
};
|
|
40
104
|
const api = new Proxy(registrar, {
|
|
41
105
|
get(obj, prop) {
|
|
42
106
|
if (prop in obj)
|
|
43
107
|
return obj[prop];
|
|
44
|
-
const method = (params) =>
|
|
108
|
+
const method = (params) => call(prop, params);
|
|
45
109
|
obj[prop] = method;
|
|
46
110
|
return method;
|
|
47
111
|
},
|
|
48
112
|
});
|
|
49
|
-
return {
|
|
113
|
+
return {
|
|
114
|
+
api,
|
|
115
|
+
calls,
|
|
116
|
+
hooks,
|
|
117
|
+
lastCall: (method) => method ? [...calls].reverse().find((c) => c.method === method) : calls.at(-1),
|
|
118
|
+
callsTo: (method) => calls.filter((c) => c.method === method),
|
|
119
|
+
setResult: (method, result) => {
|
|
120
|
+
overrides[method] = result;
|
|
121
|
+
},
|
|
122
|
+
reset: () => {
|
|
123
|
+
calls.length = 0;
|
|
124
|
+
attempts.clear();
|
|
125
|
+
nextMessageId = 1;
|
|
126
|
+
},
|
|
127
|
+
};
|
|
50
128
|
}
|
|
51
129
|
let updateIdCounter = 0;
|
|
52
130
|
/** build an {@link Update} from a partial, filling in a fresh `update_id`. */
|
|
53
131
|
export function createUpdate(partial = {}) {
|
|
54
132
|
return { update_id: ++updateIdCounter, ...partial };
|
|
55
133
|
}
|
|
56
|
-
|
|
134
|
+
const stubUser = (id) => ({ id, is_bot: false, first_name: "u" });
|
|
135
|
+
function buildMessage(options, defaultChatType) {
|
|
136
|
+
const { text = "", chatId = 1, fromId = chatId, chatType = defaultChatType } = options;
|
|
137
|
+
return {
|
|
138
|
+
message_id: 1,
|
|
139
|
+
date: 0,
|
|
140
|
+
chat: { id: chatId, type: chatType },
|
|
141
|
+
from: stubUser(fromId),
|
|
142
|
+
text,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/** build a `message` {@link Update}. */
|
|
57
146
|
export function messageUpdate(options = {}) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
147
|
+
return createUpdate({ message: buildMessage(options, "private") });
|
|
148
|
+
}
|
|
149
|
+
/** build an `edited_message` {@link Update}. */
|
|
150
|
+
export function editedMessageUpdate(options = {}) {
|
|
151
|
+
return createUpdate({ edited_message: buildMessage(options, "private") });
|
|
152
|
+
}
|
|
153
|
+
/** build a `channel_post` {@link Update}. */
|
|
154
|
+
export function channelPostUpdate(options = {}) {
|
|
155
|
+
return createUpdate({ channel_post: buildMessage(options, "channel") });
|
|
156
|
+
}
|
|
157
|
+
/** build an `edited_channel_post` {@link Update}. */
|
|
158
|
+
export function editedChannelPostUpdate(options = {}) {
|
|
159
|
+
return createUpdate({ edited_channel_post: buildMessage(options, "channel") });
|
|
68
160
|
}
|
|
69
|
-
/** build a callback_query {@link Update}. */
|
|
161
|
+
/** build a `callback_query` {@link Update}. */
|
|
70
162
|
export function callbackUpdate(options = {}) {
|
|
71
163
|
const { data = "", chatId = 1, fromId = chatId } = options;
|
|
72
164
|
return createUpdate({
|
|
73
165
|
callback_query: {
|
|
74
166
|
id: "1",
|
|
75
167
|
chat_instance: "0",
|
|
76
|
-
from:
|
|
168
|
+
from: stubUser(fromId),
|
|
77
169
|
message: {
|
|
78
170
|
message_id: 1,
|
|
79
171
|
date: 0,
|
|
@@ -83,6 +175,126 @@ export function callbackUpdate(options = {}) {
|
|
|
83
175
|
},
|
|
84
176
|
});
|
|
85
177
|
}
|
|
178
|
+
/** build an `inline_query` {@link Update}. */
|
|
179
|
+
export function inlineQueryUpdate(options = {}) {
|
|
180
|
+
const { query = "", fromId = 1, id = "1", offset = "", chatType } = options;
|
|
181
|
+
return createUpdate({
|
|
182
|
+
inline_query: {
|
|
183
|
+
id,
|
|
184
|
+
from: stubUser(fromId),
|
|
185
|
+
query,
|
|
186
|
+
offset,
|
|
187
|
+
...(chatType ? { chat_type: chatType } : {}),
|
|
188
|
+
},
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
/** build a `chosen_inline_result` {@link Update}. */
|
|
192
|
+
export function chosenInlineResultUpdate(options = {}) {
|
|
193
|
+
const { resultId = "1", fromId = 1, query = "", inlineMessageId } = options;
|
|
194
|
+
return createUpdate({
|
|
195
|
+
chosen_inline_result: {
|
|
196
|
+
result_id: resultId,
|
|
197
|
+
from: stubUser(fromId),
|
|
198
|
+
query,
|
|
199
|
+
...(inlineMessageId ? { inline_message_id: inlineMessageId } : {}),
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/** build a `shipping_query` {@link Update}. */
|
|
204
|
+
export function shippingQueryUpdate(options = {}) {
|
|
205
|
+
const { id = "1", fromId = 1, invoicePayload = "", shippingAddress = {} } = options;
|
|
206
|
+
return createUpdate({
|
|
207
|
+
shipping_query: {
|
|
208
|
+
id,
|
|
209
|
+
from: stubUser(fromId),
|
|
210
|
+
invoice_payload: invoicePayload,
|
|
211
|
+
shipping_address: {
|
|
212
|
+
country_code: "US",
|
|
213
|
+
state: "",
|
|
214
|
+
city: "New York",
|
|
215
|
+
street_line1: "",
|
|
216
|
+
street_line2: "",
|
|
217
|
+
post_code: "10001",
|
|
218
|
+
...shippingAddress,
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
/** build a `pre_checkout_query` {@link Update}. */
|
|
224
|
+
export function preCheckoutQueryUpdate(options = {}) {
|
|
225
|
+
const { id = "1", fromId = 1, currency = "USD", totalAmount = 100, invoicePayload = "", } = options;
|
|
226
|
+
return createUpdate({
|
|
227
|
+
pre_checkout_query: {
|
|
228
|
+
id,
|
|
229
|
+
from: stubUser(fromId),
|
|
230
|
+
currency,
|
|
231
|
+
total_amount: totalAmount,
|
|
232
|
+
invoice_payload: invoicePayload,
|
|
233
|
+
},
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/** build a `poll` {@link Update}. */
|
|
237
|
+
export function pollUpdate(options = {}) {
|
|
238
|
+
const { id = "1", question = "", options: choices = ["yes", "no"], isClosed = false } = options;
|
|
239
|
+
return createUpdate({
|
|
240
|
+
poll: {
|
|
241
|
+
id,
|
|
242
|
+
question,
|
|
243
|
+
options: choices.map((text, i) => ({ persistent_id: String(i), text, voter_count: 0 })),
|
|
244
|
+
total_voter_count: 0,
|
|
245
|
+
is_closed: isClosed,
|
|
246
|
+
is_anonymous: true,
|
|
247
|
+
type: "regular",
|
|
248
|
+
allows_multiple_answers: false,
|
|
249
|
+
allows_revoting: false,
|
|
250
|
+
members_only: false,
|
|
251
|
+
},
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
/** build a `poll_answer` {@link Update}. */
|
|
255
|
+
export function pollAnswerUpdate(options = {}) {
|
|
256
|
+
const { pollId = "1", fromId = 1, optionIds = [0] } = options;
|
|
257
|
+
return createUpdate({
|
|
258
|
+
poll_answer: {
|
|
259
|
+
poll_id: pollId,
|
|
260
|
+
user: stubUser(fromId),
|
|
261
|
+
option_ids: optionIds,
|
|
262
|
+
option_persistent_ids: optionIds.map(String),
|
|
263
|
+
},
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
function buildChatMemberUpdate(options) {
|
|
267
|
+
const { chatId = 1, fromId = chatId, userId = fromId, oldStatus = "member", newStatus = "member", } = options;
|
|
268
|
+
const user = stubUser(userId);
|
|
269
|
+
return {
|
|
270
|
+
chat: { id: chatId, type: "group" },
|
|
271
|
+
from: stubUser(fromId),
|
|
272
|
+
date: 0,
|
|
273
|
+
old_chat_member: { status: oldStatus, user },
|
|
274
|
+
new_chat_member: { status: newStatus, user },
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
/** build a `my_chat_member` {@link Update} (the bot's own membership changed). */
|
|
278
|
+
export function myChatMemberUpdate(options = {}) {
|
|
279
|
+
return createUpdate({ my_chat_member: buildChatMemberUpdate(options) });
|
|
280
|
+
}
|
|
281
|
+
/** build a `chat_member` {@link Update} (another member's membership changed). */
|
|
282
|
+
export function chatMemberUpdate(options = {}) {
|
|
283
|
+
return createUpdate({ chat_member: buildChatMemberUpdate(options) });
|
|
284
|
+
}
|
|
285
|
+
/** build a `chat_join_request` {@link Update}. */
|
|
286
|
+
export function chatJoinRequestUpdate(options = {}) {
|
|
287
|
+
const { chatId = 1, fromId = 1, userChatId = fromId, bio } = options;
|
|
288
|
+
return createUpdate({
|
|
289
|
+
chat_join_request: {
|
|
290
|
+
chat: { id: chatId, type: "group" },
|
|
291
|
+
from: stubUser(fromId),
|
|
292
|
+
user_chat_id: userChatId,
|
|
293
|
+
date: 0,
|
|
294
|
+
...(bio ? { bio } : {}),
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
86
298
|
/** infer which payload key an update carries; defaults to `"message"`. */
|
|
87
299
|
export function detectUpdateType(update) {
|
|
88
300
|
if (update.message)
|
|
@@ -111,9 +323,73 @@ export function createContext(update, api, updateType) {
|
|
|
111
323
|
updateType: updateType ?? detectUpdateType(update),
|
|
112
324
|
});
|
|
113
325
|
}
|
|
326
|
+
/** shortcut: build a `message` update and wrap it in a {@link Context} in one call. */
|
|
327
|
+
export function messageContext(options = {}, api) {
|
|
328
|
+
return createContext(messageUpdate(options), api);
|
|
329
|
+
}
|
|
330
|
+
/** shortcut: build a `callback_query` update and wrap it in a {@link Context} in one call. */
|
|
331
|
+
export function callbackContext(options = {}, api) {
|
|
332
|
+
return createContext(callbackUpdate(options), api);
|
|
333
|
+
}
|
|
114
334
|
const noop = async () => { };
|
|
115
335
|
/** run a composer's middleware against a context. resolves when the chain settles. */
|
|
116
336
|
export async function runMiddleware(composer, ctx) {
|
|
117
337
|
await composer.toMiddleware()(ctx, noop);
|
|
118
338
|
}
|
|
339
|
+
/**
|
|
340
|
+
* search an inline keyboard (a `reply_markup`-shaped object, e.g. from a
|
|
341
|
+
* recorded `sendMessage` call's params) for a button whose text matches a
|
|
342
|
+
* string or regex. returns the button (plus its `row`/`col`) or `undefined`.
|
|
343
|
+
*/
|
|
344
|
+
export function findButton(markup, match) {
|
|
345
|
+
const rows = markup?.inline_keyboard ?? [];
|
|
346
|
+
for (let row = 0; row < rows.length; row++) {
|
|
347
|
+
const cols = rows[row] ?? [];
|
|
348
|
+
for (let col = 0; col < cols.length; col++) {
|
|
349
|
+
const button = cols[col];
|
|
350
|
+
if (!button)
|
|
351
|
+
continue;
|
|
352
|
+
const text = typeof button.text === "string" ? button.text : "";
|
|
353
|
+
const matches = typeof match === "string" ? text === match : match.test(text);
|
|
354
|
+
if (matches)
|
|
355
|
+
return { ...button, text, row, col };
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return undefined;
|
|
359
|
+
}
|
|
360
|
+
/** a minimal {@link UpdateSink} (the `{ handleUpdate }` shape `webhookCallback`/runners expect) that just records. */
|
|
361
|
+
export function collectUpdates() {
|
|
362
|
+
const updates = [];
|
|
363
|
+
return {
|
|
364
|
+
sink: {
|
|
365
|
+
handleUpdate: async (update) => {
|
|
366
|
+
updates.push(update);
|
|
367
|
+
},
|
|
368
|
+
},
|
|
369
|
+
updates,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
/** build a `Request` carrying `update` as JSON, as telegram would POST it to a webhook handler. */
|
|
373
|
+
export function webhookRequest(update, options = {}) {
|
|
374
|
+
const { url = "https://example.invalid/webhook", method = "POST", secretToken, headers = {}, } = options;
|
|
375
|
+
const finalHeaders = { "content-type": "application/json", ...headers };
|
|
376
|
+
if (secretToken)
|
|
377
|
+
finalHeaders["x-telegram-bot-api-secret-token"] = secretToken;
|
|
378
|
+
return new Request(url, {
|
|
379
|
+
method,
|
|
380
|
+
headers: finalHeaders,
|
|
381
|
+
body: method === "GET" || method === "HEAD" ? undefined : JSON.stringify(update),
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
/** stub `globalThis.fetch` for the duration of `fn`, restoring the original afterwards (even on throw). */
|
|
385
|
+
export async function withFetch(handler, fn) {
|
|
386
|
+
const realFetch = globalThis.fetch;
|
|
387
|
+
globalThis.fetch = handler;
|
|
388
|
+
try {
|
|
389
|
+
return await fn();
|
|
390
|
+
}
|
|
391
|
+
finally {
|
|
392
|
+
globalThis.fetch = realFetch;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
119
395
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAKN,OAAO,GAQP,MAAM,cAAc,CAAC;AA4CtB,2EAA2E;AAC3E,SAAS,aAAa,CAAC,MAAc,EAAE,aAA2B;IACjE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAC1F,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,MAAM,KAAK,qBAAqB;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,MAAM,KAAK,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAE3F,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,OAAO,CAAC,UAA0B,EAAE;IACnD,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,SAAS,GAA+B,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG;QACb,MAAM,EAAE,EAAkB;QAC1B,KAAK,EAAE,EAAiB;QACxB,OAAO,EAAE,EAAiB;KAC1B,CAAC;IAEF,SAAS,aAAa,CAAC,MAAc,EAAE,MAA2C;QACjF,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACpC,OAAQ,QAAqD,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,EAAE,MAAc,EAAE,MAAgC,EAAkB,EAAE;QACvF,IAAI,CAAC,GAAG,MAAM,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS;gBAAE,CAAC,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAElC,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACJ,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAClC,IAAI,MAAM,YAAY,KAAK;oBAAE,MAAM,MAAM,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAA8B,CAAC;gBACnC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;oBAClD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;wBACnB,KAAK,GAAG,MAAM,CAAC;wBACf,MAAM;oBACP,CAAC;gBACF,CAAC;gBAED,IAAI,CAAC,KAAK;oBAAE,MAAM,KAAK,CAAC;gBACxB,SAAS,CAAC,iDAAiD;YAC5D,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC3C,IAAI,IAAI,KAAK,SAAS;oBAAE,MAAM,GAAG,IAAI,CAAC;YACvC,CAAC;YAED,OAAO,MAAe,CAAC;QACxB,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,SAAS,GAA4B;QAC1C,IAAI,EAAE,CAAC,MAAc,EAAE,MAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAChF,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,gCAAgC,QAAQ,EAAE;QACzE,MAAM,CAAC,IAAgB;YACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,KAAK,CAAC,IAAe;YACpB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,IAAe;YACtB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACZ,CAAC;KACD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE;QAChC,GAAG,CAAC,GAAG,EAAE,IAAY;YACpB,IAAI,IAAI,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,MAAM,GAAG,CAAC,MAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;YAEnB,OAAO,MAAM,CAAC;QACf,CAAC;KACD,CAAmB,CAAC;IAErB,OAAO;QACN,GAAG;QACH,KAAK;QACL,KAAK;QACL,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAC7D,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7B,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;QAC5B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACX,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjB,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,aAAa,GAAG,CAAC,CAAC;QACnB,CAAC;KACD,CAAC;AACH,CAAC;AAED,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,8EAA8E;AAC9E,MAAM,UAAU,YAAY,CAAC,UAA2B,EAAE;IACzD,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAU1E,SAAS,YAAY,CACpB,OAA6B,EAC7B,eAA8D;IAE9D,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC;IAEvF,OAAO;QACN,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACtB,IAAI;KACJ,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,aAAa,CAAC,UAAgC,EAAE;IAC/D,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,mBAAmB,CAAC,UAAgC,EAAE;IACrE,OAAO,YAAY,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,iBAAiB,CAAC,UAAgC,EAAE;IACnE,OAAO,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,uBAAuB,CAAC,UAAgC,EAAE;IACzE,OAAO,YAAY,CAAC,EAAE,mBAAmB,EAAE,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC;AASD,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,UAAiC,EAAE;IACjE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3D,OAAO,YAAY,CAAC;QACnB,cAAc,EAAE;YACf,EAAE,EAAE,GAAG;YACP,aAAa,EAAE,GAAG;YAClB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE;gBACR,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;aACrC;YACD,IAAI;SACJ;KACD,CAAC,CAAC;AACJ,CAAC;AAWD,8CAA8C;AAC9C,MAAM,UAAU,iBAAiB,CAAC,UAAoC,EAAE;IACvE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE5E,OAAO,YAAY,CAAC;QACnB,YAAY,EAAE;YACb,EAAE;YACF,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,KAAK;YACL,MAAM;YACN,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C;KACD,CAAC,CAAC;AACJ,CAAC;AAUD,qDAAqD;AACrD,MAAM,UAAU,wBAAwB,CAAC,UAA2C,EAAE;IACrF,MAAM,EAAE,QAAQ,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAE5E,OAAO,YAAY,CAAC;QACnB,oBAAoB,EAAE;YACrB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,KAAK;YACL,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE;KACD,CAAC,CAAC;AACJ,CAAC;AAUD,+CAA+C;AAC/C,MAAM,UAAU,mBAAmB,CAAC,UAAsC,EAAE;IAC3E,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,cAAc,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAEpF,OAAO,YAAY,CAAC;QACnB,cAAc,EAAE;YACf,EAAE;YACF,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,eAAe,EAAE,cAAc;YAC/B,gBAAgB,EAAE;gBACjB,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,UAAU;gBAChB,YAAY,EAAE,EAAE;gBAChB,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,OAAO;gBAClB,GAAG,eAAe;aAClB;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AAWD,mDAAmD;AACnD,MAAM,UAAU,sBAAsB,CAAC,UAAyC,EAAE;IACjF,MAAM,EACL,EAAE,GAAG,GAAG,EACR,MAAM,GAAG,CAAC,EACV,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,GAAG,EACjB,cAAc,GAAG,EAAE,GACnB,GAAG,OAAO,CAAC;IAEZ,OAAO,YAAY,CAAC;QACnB,kBAAkB,EAAE;YACnB,EAAE;YACF,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,QAAQ;YACR,YAAY,EAAE,WAAW;YACzB,eAAe,EAAE,cAAc;SAC/B;KACD,CAAC,CAAC;AACJ,CAAC;AAUD,qCAAqC;AACrC,MAAM,UAAU,UAAU,CAAC,UAA6B,EAAE;IACzD,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhG,OAAO,YAAY,CAAC;QACnB,IAAI,EAAE;YACL,EAAE;YACF,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,iBAAiB,EAAE,CAAC;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,SAAS;YACf,uBAAuB,EAAE,KAAK;YAC9B,eAAe,EAAE,KAAK;YACtB,YAAY,EAAE,KAAK;SACnB;KACD,CAAC,CAAC;AACJ,CAAC;AASD,4CAA4C;AAC5C,MAAM,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACrE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC;IAE9D,OAAO,YAAY,CAAC;QACnB,WAAW,EAAE;YACZ,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,UAAU,EAAE,SAAS;YACrB,qBAAqB,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;SAC5C;KACD,CAAC,CAAC;AACJ,CAAC;AAWD,SAAS,qBAAqB,CAAC,OAAgC;IAC9D,MAAM,EACL,MAAM,GAAG,CAAC,EACV,MAAM,GAAG,MAAM,EACf,MAAM,GAAG,MAAM,EACf,SAAS,GAAG,QAAQ,EACpB,SAAS,GAAG,QAAQ,GACpB,GAAG,OAAO,CAAC;IACZ,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO;QACN,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;QACnC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,CAAC;QACP,eAAe,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;QAC5C,eAAe,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;KAC5C,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,UAAmC,EAAE;IACvE,OAAO,YAAY,CAAC,EAAE,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,UAAmC,EAAE;IACrE,OAAO,YAAY,CAAC,EAAE,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACtE,CAAC;AAUD,kDAAkD;AAClD,MAAM,UAAU,qBAAqB,CAAC,UAAwC,EAAE;IAC/E,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAErE,OAAO,YAAY,CAAC;QACnB,iBAAiB,EAAE;YAClB,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YACnC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvB;KACD,CAAC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAC;IACnD,IAAI,MAAM,CAAC,YAAY;QAAE,OAAO,cAAc,CAAC;IAC/C,IAAI,MAAM,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAC;IAEnD,MAAM,GAAG,GAAG,MAA4C,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,GAAiB,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,GAAS,EAAE,UAAuB;IAC/E,OAAO,IAAI,OAAO,CAAC;QAClB,GAAG,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC,GAAG;QACzB,MAAM;QACN,UAAU,EAAE,UAAU,IAAI,gBAAgB,CAAC,MAAM,CAAC;KAClD,CAAC,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,UAAgC,EAAE,EAAE,GAAS;IAC3E,OAAO,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,eAAe,CAAC,UAAiC,EAAE,EAAE,GAAS;IAC7E,OAAO,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,IAAI,GAAW,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;AAEpC,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,QAAqB,EACrB,GAAM;IAEN,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAUD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACzB,MAA+E,EAC/E,KAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,EAAE,eAAe,IAAI,EAAE,CAAC;IAE3C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAE7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9E,IAAI,OAAO;gBAAE,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACnD,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAQD,sHAAsH;AACtH,MAAM,UAAU,cAAc;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,OAAO;QACN,IAAI,EAAE;YACL,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;SACD;QACD,OAAO;KACP,CAAC;AACH,CAAC;AAUD,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,UAAiC,EAAE;IACjF,MAAM,EACL,GAAG,GAAG,iCAAiC,EACvC,MAAM,GAAG,MAAM,EACf,WAAW,EACX,OAAO,GAAG,EAAE,GACZ,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IAChG,IAAI,WAAW;QAAE,YAAY,CAAC,iCAAiC,CAAC,GAAG,WAAW,CAAC;IAE/E,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACvB,MAAM;QACN,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;KAChF,CAAC,CAAC;AACJ,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,OAAqB,EAAE,EAAwB;IACjF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;IACnC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC;IAE3B,IAAI,CAAC;QACJ,OAAO,MAAM,EAAE,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACV,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;IAC9B,CAAC;AACF,CAAC"}
|
package/lib/index.test.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import test from "node:test";
|
|
3
|
-
import { Composer, Context } from "@yaebal/core";
|
|
4
|
-
import { callbackUpdate, createContext, createUpdate, messageUpdate, mockApi, runMiddleware, } from "./index.js";
|
|
3
|
+
import { Composer, Context, TelegramError } from "@yaebal/core";
|
|
4
|
+
import { callbackContext, callbackUpdate, channelPostUpdate, chatJoinRequestUpdate, chatMemberUpdate, chosenInlineResultUpdate, collectUpdates, createContext, createUpdate, editedMessageUpdate, findButton, inlineQueryUpdate, messageContext, messageUpdate, mockApi, myChatMemberUpdate, pollAnswerUpdate, pollUpdate, preCheckoutQueryUpdate, runMiddleware, shippingQueryUpdate, webhookRequest, withFetch, } from "./index.js";
|
|
5
5
|
test("mockApi records calls and resolves sensible defaults", async () => {
|
|
6
6
|
const { api, calls } = mockApi();
|
|
7
7
|
const sent = await api.sendMessage({ chat_id: 1, text: "hi" });
|
|
@@ -63,4 +63,151 @@ test("a handler calling ctx.reply records a sendMessage call", async () => {
|
|
|
63
63
|
assert.equal(call?.params?.text, "pong");
|
|
64
64
|
assert.deepEqual(call?.params?.reply_parameters, { message_id: 1 });
|
|
65
65
|
});
|
|
66
|
+
test("mockApi auto-increments message_id across send* calls", async () => {
|
|
67
|
+
const { api } = mockApi();
|
|
68
|
+
const first = await api.sendMessage({ chat_id: 1, text: "a" });
|
|
69
|
+
const second = await api.sendMessage({ chat_id: 1, text: "b" });
|
|
70
|
+
assert.deepEqual(first, { message_id: 1 });
|
|
71
|
+
assert.deepEqual(second, { message_id: 2 });
|
|
72
|
+
});
|
|
73
|
+
test("mockApi results: static override replaces the built-in default", async () => {
|
|
74
|
+
const { api } = mockApi({ results: { sendMessage: { message_id: 99 } } });
|
|
75
|
+
assert.deepEqual(await api.sendMessage({ chat_id: 1 }), { message_id: 99 });
|
|
76
|
+
});
|
|
77
|
+
test("mockApi results: an Error value makes the call throw", async () => {
|
|
78
|
+
const { api } = mockApi({
|
|
79
|
+
results: { sendMessage: new TelegramError("sendMessage", 400, "Bad Request") },
|
|
80
|
+
});
|
|
81
|
+
await assert.rejects(api.sendMessage({ chat_id: 1 }), TelegramError);
|
|
82
|
+
});
|
|
83
|
+
test("mockApi results: a function sees params and a running attempt count", async () => {
|
|
84
|
+
const { api } = mockApi({
|
|
85
|
+
results: {
|
|
86
|
+
sendMessage: (params, attempt) => attempt <= 2
|
|
87
|
+
? new TelegramError("sendMessage", 429, "retry after 0")
|
|
88
|
+
: { message_id: 1, echo: params?.text },
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
api.onError((_m, _e, attempt) => (attempt <= 2 ? { retry: true } : undefined));
|
|
92
|
+
const result = await api.sendMessage({ chat_id: 1, text: "hi" });
|
|
93
|
+
assert.deepEqual(result, { message_id: 1, echo: "hi" });
|
|
94
|
+
});
|
|
95
|
+
test("mockApi.setResult overrides after creation; reset() clears calls and counters", async () => {
|
|
96
|
+
const { api, calls, setResult, reset } = mockApi();
|
|
97
|
+
await api.sendMessage({ chat_id: 1 });
|
|
98
|
+
setResult("sendMessage", { message_id: 42 });
|
|
99
|
+
assert.deepEqual(await api.sendMessage({ chat_id: 1 }), { message_id: 42 });
|
|
100
|
+
assert.equal(calls.length, 2);
|
|
101
|
+
reset();
|
|
102
|
+
assert.equal(calls.length, 0);
|
|
103
|
+
assert.deepEqual(await api.sendMessage({ chat_id: 1 }), { message_id: 42 });
|
|
104
|
+
});
|
|
105
|
+
test("mockApi.lastCall and callsTo filter recorded calls", async () => {
|
|
106
|
+
const { api, lastCall, callsTo } = mockApi();
|
|
107
|
+
await api.sendMessage({ chat_id: 1, text: "a" });
|
|
108
|
+
await api.answerCallbackQuery({ callback_query_id: "1" });
|
|
109
|
+
await api.sendMessage({ chat_id: 1, text: "b" });
|
|
110
|
+
assert.equal(lastCall()?.method, "sendMessage");
|
|
111
|
+
assert.equal(lastCall("answerCallbackQuery")?.method, "answerCallbackQuery");
|
|
112
|
+
assert.equal(lastCall("sendMessage")?.params?.text, "b");
|
|
113
|
+
assert.equal(callsTo("sendMessage").length, 2);
|
|
114
|
+
});
|
|
115
|
+
test("mockApi hooks actually run: before rewrites params, after rewrites result", async () => {
|
|
116
|
+
const { api } = mockApi();
|
|
117
|
+
api.before((_method, params) => ({ ...params, injected: true }));
|
|
118
|
+
api.after((_method, _params, result) => ({ ...result, tagged: true }));
|
|
119
|
+
const result = await api.sendMessage({ chat_id: 1 });
|
|
120
|
+
assert.deepEqual(result, { message_id: 1, tagged: true });
|
|
121
|
+
});
|
|
122
|
+
test("channelPostUpdate / editedMessageUpdate build the right update key", () => {
|
|
123
|
+
assert.equal(channelPostUpdate({ text: "hi" }).channel_post?.text, "hi");
|
|
124
|
+
assert.equal(channelPostUpdate().channel_post?.chat.type, "channel");
|
|
125
|
+
assert.equal(editedMessageUpdate({ text: "hi" }).edited_message?.text, "hi");
|
|
126
|
+
});
|
|
127
|
+
test("inlineQueryUpdate / chosenInlineResultUpdate build their payloads", () => {
|
|
128
|
+
const iq = inlineQueryUpdate({ query: "cats", fromId: 5 });
|
|
129
|
+
assert.equal(iq.inline_query?.query, "cats");
|
|
130
|
+
assert.equal(iq.inline_query?.from.id, 5);
|
|
131
|
+
const cir = chosenInlineResultUpdate({ resultId: "r1", query: "cats" });
|
|
132
|
+
assert.equal(cir.chosen_inline_result?.result_id, "r1");
|
|
133
|
+
});
|
|
134
|
+
test("shippingQueryUpdate / preCheckoutQueryUpdate build valid payloads", () => {
|
|
135
|
+
const sq = shippingQueryUpdate({ shippingAddress: { city: "Berlin" } });
|
|
136
|
+
assert.equal(sq.shipping_query?.shipping_address.city, "Berlin");
|
|
137
|
+
const pcq = preCheckoutQueryUpdate({ currency: "EUR", totalAmount: 500 });
|
|
138
|
+
assert.equal(pcq.pre_checkout_query?.currency, "EUR");
|
|
139
|
+
assert.equal(pcq.pre_checkout_query?.total_amount, 500);
|
|
140
|
+
});
|
|
141
|
+
test("pollUpdate / pollAnswerUpdate build valid payloads", () => {
|
|
142
|
+
const poll = pollUpdate({ question: "?", options: ["a", "b", "c"] });
|
|
143
|
+
assert.equal(poll.poll?.options.length, 3);
|
|
144
|
+
assert.equal(poll.poll?.options[1]?.text, "b");
|
|
145
|
+
const answer = pollAnswerUpdate({ optionIds: [1] });
|
|
146
|
+
assert.deepEqual(answer.poll_answer?.option_ids, [1]);
|
|
147
|
+
});
|
|
148
|
+
test("myChatMemberUpdate / chatMemberUpdate / chatJoinRequestUpdate build valid payloads", () => {
|
|
149
|
+
const my = myChatMemberUpdate({ oldStatus: "left", newStatus: "member" });
|
|
150
|
+
assert.equal(my.my_chat_member?.old_chat_member.status, "left");
|
|
151
|
+
assert.equal(my.my_chat_member?.new_chat_member.status, "member");
|
|
152
|
+
const other = chatMemberUpdate({ userId: 7 });
|
|
153
|
+
assert.equal(other.chat_member?.new_chat_member.user.id, 7);
|
|
154
|
+
const join = chatJoinRequestUpdate({ chatId: 3, fromId: 4, bio: "hi" });
|
|
155
|
+
assert.equal(join.chat_join_request?.chat.id, 3);
|
|
156
|
+
assert.equal(join.chat_join_request?.bio, "hi");
|
|
157
|
+
});
|
|
158
|
+
test("messageContext / callbackContext build a Context in one call", () => {
|
|
159
|
+
const ctx = messageContext({ text: "hi", chatId: 9 });
|
|
160
|
+
assert.equal(ctx.text, "hi");
|
|
161
|
+
assert.equal(ctx.chat?.id, 9);
|
|
162
|
+
const cbCtx = callbackContext({ data: "x" });
|
|
163
|
+
assert.equal(cbCtx.callbackQuery?.data, "x");
|
|
164
|
+
});
|
|
165
|
+
test("findButton locates a button by text and reports its position", () => {
|
|
166
|
+
const markup = {
|
|
167
|
+
inline_keyboard: [
|
|
168
|
+
[{ text: "a", callback_data: "a" }],
|
|
169
|
+
[
|
|
170
|
+
{ text: "b", callback_data: "b" },
|
|
171
|
+
{ text: "Next", callback_data: "page:2" },
|
|
172
|
+
],
|
|
173
|
+
],
|
|
174
|
+
};
|
|
175
|
+
const found = findButton(markup, "Next");
|
|
176
|
+
assert.equal(found?.callback_data, "page:2");
|
|
177
|
+
assert.equal(found?.row, 1);
|
|
178
|
+
assert.equal(found?.col, 1);
|
|
179
|
+
assert.equal(findButton(markup, /^n/i)?.text, "Next");
|
|
180
|
+
assert.equal(findButton(markup, "missing"), undefined);
|
|
181
|
+
assert.equal(findButton(undefined, "missing"), undefined);
|
|
182
|
+
});
|
|
183
|
+
test("collectUpdates records every update handed to the sink", async () => {
|
|
184
|
+
const { sink, updates } = collectUpdates();
|
|
185
|
+
await sink.handleUpdate(messageUpdate({ text: "one" }));
|
|
186
|
+
await sink.handleUpdate(messageUpdate({ text: "two" }));
|
|
187
|
+
assert.equal(updates.length, 2);
|
|
188
|
+
assert.equal(updates[0]?.message?.text, "one");
|
|
189
|
+
});
|
|
190
|
+
test("webhookRequest builds a POST carrying the update as JSON, with an optional secret header", async () => {
|
|
191
|
+
const update = messageUpdate({ text: "hi" });
|
|
192
|
+
const req = webhookRequest(update, { secretToken: "s3cret" });
|
|
193
|
+
assert.equal(req.method, "POST");
|
|
194
|
+
assert.equal(req.headers.get("x-telegram-bot-api-secret-token"), "s3cret");
|
|
195
|
+
assert.deepEqual(await req.json(), update);
|
|
196
|
+
});
|
|
197
|
+
test("withFetch stubs globalThis.fetch for the duration of fn, then restores it", async () => {
|
|
198
|
+
const realFetch = globalThis.fetch;
|
|
199
|
+
const result = await withFetch(async () => new Response("stubbed"), async () => {
|
|
200
|
+
const res = await fetch("https://example.invalid/");
|
|
201
|
+
return res.text();
|
|
202
|
+
});
|
|
203
|
+
assert.equal(result, "stubbed");
|
|
204
|
+
assert.equal(globalThis.fetch, realFetch);
|
|
205
|
+
});
|
|
206
|
+
test("withFetch restores the original fetch even if fn throws", async () => {
|
|
207
|
+
const realFetch = globalThis.fetch;
|
|
208
|
+
await assert.rejects(withFetch(async () => new Response("x"), () => {
|
|
209
|
+
throw new Error("boom");
|
|
210
|
+
}));
|
|
211
|
+
assert.equal(globalThis.fetch, realFetch);
|
|
212
|
+
});
|
|
66
213
|
//# sourceMappingURL=index.test.js.map
|
package/lib/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACN,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,OAAO,EACP,aAAa,GACb,MAAM,YAAY,CAAC;AAEpB,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;IACvE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE9B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;QACvB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC7D,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE;QACrE,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;KACrD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACzD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1B,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAC3B,GAAG,CACH,CAAC;IACF,MAAM,CAAC,KAAK,CACX,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EACvB,GAAG,CACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IAEhC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IAClE,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACjD,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;IACzB,MAAM,CAAC,GAAG,YAAY,EAAE,CAAC;IAEzB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;IAC9D,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpE,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC;IAElC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;IACzD,MAAM,GAAG,GAAG,aAAa,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;IACzE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,MAAM,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE9F,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yaebal/test",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "yaebal test — testing utilities for yaebal bots: mock api, update factories, and context builders.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"src"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@yaebal/core": "0.0.
|
|
19
|
+
"@yaebal/core": "0.0.6"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/node": "latest"
|