common_relay.mjs raw
1 // Package common/relay
2 // Generated by TinyJS — TinyGo JavaScript backend
3
4 import * as $rt from './$runtime/index.mjs';
5
6 import * as common$jsbridge$ws from './common_jsbridge_ws.mjs';
7 import * as common$nostr from './common_nostr.mjs';
8
9 // Package-level variables
10
11 $rt.types.registerType('common/relay.Sub', {
12 id: 'common/relay.Sub',
13 kind: 'struct',
14 methods: new Map(),
15 fields: [
16 { name: 'ID', type: 'string', tag: '', embedded: false },
17 { name: 'Filters', type: '[]*common/nostr.Filter', tag: '', embedded: false },
18 { name: 'OnEvent', type: 'func', tag: '', embedded: false },
19 { name: 'OnEOSE', type: 'func', tag: '', embedded: false },
20 { name: 'conn', type: '*common/relay.Conn', tag: '', embedded: false },
21 { name: 'gotEOSE', type: 'bool', tag: '', embedded: false },
22 ],
23 zero: () => ({ ID: '', Filters: null, OnEvent: null, OnEOSE: null, conn: null, gotEOSE: false }),
24 });
25 $rt.types.registerType('common/relay.Pool', {
26 id: 'common/relay.Pool',
27 kind: 'struct',
28 methods: new Map(),
29 fields: [
30 { name: 'conns', type: 'map[string]*common/relay.Conn', tag: '', embedded: false },
31 ],
32 zero: () => ({ conns: null }),
33 });
34 $rt.types.registerType('common/relay.Conn', {
35 id: 'common/relay.Conn',
36 kind: 'struct',
37 methods: new Map(),
38 fields: [
39 { name: 'URL', type: 'string', tag: '', embedded: false },
40 { name: 'wsConn', type: 'common/jsbridge/ws.Conn', tag: '', embedded: false },
41 { name: 'state', type: 'int', tag: '', embedded: false },
42 { name: 'subs', type: 'map[string]*common/relay.Sub', tag: '', embedded: false },
43 { name: 'onReady', type: 'func', tag: '', embedded: false },
44 { name: 'onEvent', type: 'func', tag: '', embedded: false },
45 { name: 'onEOSE', type: 'func', tag: '', embedded: false },
46 { name: 'onOK', type: 'func', tag: '', embedded: false },
47 { name: 'onAuth', type: 'func', tag: '', embedded: false },
48 { name: 'closing', type: 'bool', tag: '', embedded: false },
49 { name: 'pendingPublish', type: '[]string', tag: '', embedded: false },
50 { name: 'ScheduleReconnect', type: 'func', tag: '', embedded: false },
51 ],
52 zero: () => ({ URL: '', wsConn: 0, state: 0, subs: null, onReady: null, onEvent: null, onEOSE: null, onOK: null, onAuth: null, closing: false, pendingPublish: null, ScheduleReconnect: null }),
53 });
54 export function init() {
55 return;
56 }
57
58 export function NewPool() {
59 let $t0_1, $t1_2, $t2_3;
60 $t0_1 = { $value: { conns: null }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
61 $t1_2 = { $get() { return $t0_1.$get().conns; }, $set(v) { const obj = $t0_1.$get(); obj.conns = v; $t0_1.$set(obj); } };
62 $t2_3 = $rt.builtin.makeMap('string');
63 $t1_2.$set($t2_3);
64 return $t0_1;
65 }
66
67 export function Dial(url) {
68 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
69 $t0_1 = { $value: { URL: '', wsConn: 0, state: 0, subs: null, onReady: null, onEvent: null, onEOSE: null, onOK: null, onAuth: null, closing: false, pendingPublish: null, ScheduleReconnect: null }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
70 $t1_2 = { $get() { return $t0_1.$get().URL; }, $set(v) { const obj = $t0_1.$get(); obj.URL = v; $t0_1.$set(obj); } };
71 $t2_3 = { $get() { return $t0_1.$get().state; }, $set(v) { const obj = $t0_1.$get(); obj.state = v; $t0_1.$set(obj); } };
72 $t3_4 = { $get() { return $t0_1.$get().subs; }, $set(v) { const obj = $t0_1.$get(); obj.subs = v; $t0_1.$set(obj); } };
73 $t4_5 = $rt.builtin.makeMap('string');
74 $t1_2.$set(url);
75 $t2_3.$set(0);
76 $t3_4.$set($t4_5);
77 $t5_6 = Conn$dial($t0_1);
78 return $t0_1;
79 }
80
81 export function eventJSON(ev) {
82 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43;
83 $t0_1 = { $value: $rt.builtin.makeSlice(512, 512, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
84 $t1_2 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, 0, undefined);
85 $t2_3 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
86 $t3_4 = $t2_3.$get().addr(0);
87 $t3_4.$set(123);
88 $t4_5 = $rt.builtin.sliceSlice($t2_3.$get(), undefined, undefined, undefined);
89 $t5_6 = $rt.builtin.appendSlice($t1_2, $t4_5);
90 $t6_7 = $rt.builtin.appendString($t5_6, '"id":"');
91 $t7_8 = { $get() { return ev.$get().ID; }, $set(v) { const obj = ev.$get(); obj.ID = v; ev.$set(obj); } };
92 $t8_9 = $t7_8.$get();
93 $t9_10 = $rt.builtin.appendString($t6_7, $t8_9);
94 $t10_11 = $rt.builtin.appendString($t9_10, '","pubkey":"');
95 $t11_12 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
96 $t12_13 = $t11_12.$get();
97 $t13_14 = $rt.builtin.appendString($t10_11, $t12_13);
98 $t14_15 = $rt.builtin.appendString($t13_14, '","created_at":');
99 $t15_16 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
100 $t16_17 = $t15_16.$get();
101 $t17_18 = itoa($t16_17);
102 $t18_19 = $rt.builtin.appendString($t14_15, $t17_18);
103 $t19_20 = $rt.builtin.appendString($t18_19, ',"kind":');
104 $t20_21 = { $get() { return ev.$get().Kind; }, $set(v) { const obj = ev.$get(); obj.Kind = v; ev.$set(obj); } };
105 $t21_22 = $t20_21.$get();
106 $t22_23 = $t21_22;
107 $t23_24 = itoa($t22_23);
108 $t24_25 = $rt.builtin.appendString($t19_20, $t23_24);
109 $t25_26 = $rt.builtin.appendString($t24_25, ',"tags":');
110 $t26_27 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
111 $t27_28 = $t26_27.$get();
112 $t28_29 = serializeTags($t25_26, $t27_28);
113 $t29_30 = $rt.builtin.appendString($t28_29, ',"content":"');
114 $t30_31 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
115 $t31_32 = $t30_31.$get();
116 $t32_33 = appendEscaped($t29_30, $t31_32);
117 $t33_34 = $rt.builtin.appendString($t32_33, '","sig":"');
118 $t34_35 = { $get() { return ev.$get().Sig; }, $set(v) { const obj = ev.$get(); obj.Sig = v; ev.$set(obj); } };
119 $t35_36 = $t34_35.$get();
120 $t36_37 = $rt.builtin.appendString($t33_34, $t35_36);
121 $t37_38 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
122 $t38_39 = $t37_38.$get().addr(0);
123 $t38_39.$set(34);
124 $t39_40 = $t37_38.$get().addr(1);
125 $t39_40.$set(125);
126 $t40_41 = $rt.builtin.sliceSlice($t37_38.$get(), undefined, undefined, undefined);
127 $t41_42 = $rt.builtin.appendSlice($t36_37, $t40_41);
128 $t42_43 = $rt.builtin.bytesToString($t41_42);
129 return $t42_43;
130 }
131
132 export function serializeTags(buf, tags) {
133 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51;
134 let $block = 0;
135 while (true) {
136 switch ($block) {
137 case 0: {
138 $t0_1 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
139 $t1_2 = $t0_1.$get().addr(0);
140 $t1_2.$set(91);
141 $t2_3 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
142 $t3_4 = $rt.builtin.appendSlice(buf, $t2_3);
143 $t4_5 = $rt.builtin.len(tags);
144 $t5_6 = $t3_4;
145 $t6_7 = -1;
146 $block = 1; break;
147 break;
148 }
149 case 1: {
150 $t7_8 = ($t6_7 + 1);
151 $t8_9 = ($t7_8 < $t4_5);
152 if ($t8_9) {
153 $block = 2; break;
154 }
155 else {
156 $block = 3; break;
157 }
158 break;
159 }
160 case 2: {
161 $t9_10 = tags.addr($t7_8);
162 $t10_11 = $t9_10.$get();
163 $t11_12 = ($t7_8 > 0);
164 if ($t11_12) {
165 $block = 4; break;
166 }
167 else {
168 $t20_21 = $t5_6;
169 $block = 5; break;
170 }
171 break;
172 }
173 case 3: {
174 $t12_13 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
175 $t13_14 = $t12_13.$get().addr(0);
176 $t13_14.$set(93);
177 $t14_15 = $rt.builtin.sliceSlice($t12_13.$get(), undefined, undefined, undefined);
178 $t15_16 = $rt.builtin.appendSlice($t5_6, $t14_15);
179 return $t15_16;
180 break;
181 }
182 case 4: {
183 $t16_17 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
184 $t17_18 = $t16_17.$get().addr(0);
185 $t17_18.$set(44);
186 $t18_19 = $rt.builtin.sliceSlice($t16_17.$get(), undefined, undefined, undefined);
187 $t19_20 = $rt.builtin.appendSlice($t5_6, $t18_19);
188 $t20_21 = $t19_20;
189 $block = 5; break;
190 break;
191 }
192 case 5: {
193 $t21_22 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
194 $t22_23 = $t21_22.$get().addr(0);
195 $t22_23.$set(91);
196 $t23_24 = $rt.builtin.sliceSlice($t21_22.$get(), undefined, undefined, undefined);
197 $t24_25 = $rt.builtin.appendSlice($t20_21, $t23_24);
198 $t25_26 = $rt.builtin.len($t10_11);
199 $t26_27 = $t24_25;
200 $t27_28 = -1;
201 $block = 6; break;
202 break;
203 }
204 case 6: {
205 $t28_29 = ($t27_28 + 1);
206 $t29_30 = ($t28_29 < $t25_26);
207 if ($t29_30) {
208 $block = 7; break;
209 }
210 else {
211 $block = 8; break;
212 }
213 break;
214 }
215 case 7: {
216 $t30_31 = $t10_11.addr($t28_29);
217 $t31_32 = $t30_31.$get();
218 $t32_33 = ($t28_29 > 0);
219 if ($t32_33) {
220 $block = 9; break;
221 }
222 else {
223 $t41_42 = $t26_27;
224 $block = 10; break;
225 }
226 break;
227 }
228 case 8: {
229 $t33_34 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
230 $t34_35 = $t33_34.$get().addr(0);
231 $t34_35.$set(93);
232 $t35_36 = $rt.builtin.sliceSlice($t33_34.$get(), undefined, undefined, undefined);
233 $t36_37 = $rt.builtin.appendSlice($t26_27, $t35_36);
234 $t5_6 = $t36_37;
235 $t6_7 = $t7_8;
236 $block = 1; break;
237 break;
238 }
239 case 9: {
240 $t37_38 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
241 $t38_39 = $t37_38.$get().addr(0);
242 $t38_39.$set(44);
243 $t39_40 = $rt.builtin.sliceSlice($t37_38.$get(), undefined, undefined, undefined);
244 $t40_41 = $rt.builtin.appendSlice($t26_27, $t39_40);
245 $t41_42 = $t40_41;
246 $block = 10; break;
247 break;
248 }
249 case 10: {
250 $t42_43 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
251 $t43_44 = $t42_43.$get().addr(0);
252 $t43_44.$set(34);
253 $t44_45 = $rt.builtin.sliceSlice($t42_43.$get(), undefined, undefined, undefined);
254 $t45_46 = $rt.builtin.appendSlice($t41_42, $t44_45);
255 $t46_47 = appendEscaped($t45_46, $t31_32);
256 $t47_48 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
257 $t48_49 = $t47_48.$get().addr(0);
258 $t48_49.$set(34);
259 $t49_50 = $rt.builtin.sliceSlice($t47_48.$get(), undefined, undefined, undefined);
260 $t50_51 = $rt.builtin.appendSlice($t46_47, $t49_50);
261 $t26_27 = $t50_51;
262 $t27_28 = $t28_29;
263 $block = 6; break;
264 break;
265 }
266 }
267 }
268 }
269
270 export function appendEscaped(buf, s) {
271 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41;
272 let $block = 0;
273 while (true) {
274 switch ($block) {
275 case 0: {
276 $t0_1 = buf;
277 $t1_2 = 0;
278 $block = 1; break;
279 break;
280 }
281 case 1: {
282 $t2_3 = $rt.builtin.len(s);
283 $t3_4 = ($t1_2 < $t2_3);
284 if ($t3_4) {
285 $block = 2; break;
286 }
287 else {
288 $block = 3; break;
289 }
290 break;
291 }
292 case 2: {
293 $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
294 $t4_5 = $rt.builtin.stringByteAt(s, $t1_2);
295 $t5_6 = ($t4_5 === 34);
296 if ($t5_6) {
297 $block = 5; break;
298 }
299 else {
300 $block = 7; break;
301 }
302 break;
303 }
304 case 3: {
305 return $t0_1;
306 break;
307 }
308 case 4: {
309 $t7_8 = ($t1_2 + 1);
310 $t0_1 = $t6_7;
311 $t1_2 = $t7_8;
312 $block = 1; break;
313 break;
314 }
315 case 5: {
316 $t8_9 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
317 $t9_10 = $t8_9.$get().addr(0);
318 $t9_10.$set(92);
319 $t10_11 = $t8_9.$get().addr(1);
320 $t10_11.$set(34);
321 $t11_12 = $rt.builtin.sliceSlice($t8_9.$get(), undefined, undefined, undefined);
322 $t12_13 = $rt.builtin.appendSlice($t0_1, $t11_12);
323 $t6_7 = $t12_13;
324 $block = 4; break;
325 break;
326 }
327 case 6: {
328 $t13_14 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
329 $t14_15 = $t13_14.$get().addr(0);
330 $t14_15.$set(92);
331 $t15_16 = $t13_14.$get().addr(1);
332 $t15_16.$set(92);
333 $t16_17 = $rt.builtin.sliceSlice($t13_14.$get(), undefined, undefined, undefined);
334 $t17_18 = $rt.builtin.appendSlice($t0_1, $t16_17);
335 $t6_7 = $t17_18;
336 $block = 4; break;
337 break;
338 }
339 case 7: {
340 $t18_19 = ($t4_5 === 92);
341 if ($t18_19) {
342 $block = 6; break;
343 }
344 else {
345 $block = 9; break;
346 }
347 break;
348 }
349 case 8: {
350 $t19_20 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
351 $t20_21 = $t19_20.$get().addr(0);
352 $t20_21.$set(92);
353 $t21_22 = $t19_20.$get().addr(1);
354 $t21_22.$set(110);
355 $t22_23 = $rt.builtin.sliceSlice($t19_20.$get(), undefined, undefined, undefined);
356 $t23_24 = $rt.builtin.appendSlice($t0_1, $t22_23);
357 $t6_7 = $t23_24;
358 $block = 4; break;
359 break;
360 }
361 case 9: {
362 $t24_25 = ($t4_5 === 10);
363 if ($t24_25) {
364 $block = 8; break;
365 }
366 else {
367 $block = 11; break;
368 }
369 break;
370 }
371 case 10: {
372 $t25_26 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
373 $t26_27 = $t25_26.$get().addr(0);
374 $t26_27.$set(92);
375 $t27_28 = $t25_26.$get().addr(1);
376 $t27_28.$set(114);
377 $t28_29 = $rt.builtin.sliceSlice($t25_26.$get(), undefined, undefined, undefined);
378 $t29_30 = $rt.builtin.appendSlice($t0_1, $t28_29);
379 $t6_7 = $t29_30;
380 $block = 4; break;
381 break;
382 }
383 case 11: {
384 $t30_31 = ($t4_5 === 13);
385 if ($t30_31) {
386 $block = 10; break;
387 }
388 else {
389 $block = 13; break;
390 }
391 break;
392 }
393 case 12: {
394 $t31_32 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
395 $t32_33 = $t31_32.$get().addr(0);
396 $t32_33.$set(92);
397 $t33_34 = $t31_32.$get().addr(1);
398 $t33_34.$set(116);
399 $t34_35 = $rt.builtin.sliceSlice($t31_32.$get(), undefined, undefined, undefined);
400 $t35_36 = $rt.builtin.appendSlice($t0_1, $t34_35);
401 $t6_7 = $t35_36;
402 $block = 4; break;
403 break;
404 }
405 case 13: {
406 $t36_37 = ($t4_5 === 9);
407 if ($t36_37) {
408 $block = 12; break;
409 }
410 else {
411 $block = 14; break;
412 }
413 break;
414 }
415 case 14: {
416 $t37_38 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
417 $t38_39 = $t37_38.$get().addr(0);
418 $t38_39.$set($t4_5);
419 $t39_40 = $rt.builtin.sliceSlice($t37_38.$get(), undefined, undefined, undefined);
420 $t40_41 = $rt.builtin.appendSlice($t0_1, $t39_40);
421 $t6_7 = $t40_41;
422 $block = 4; break;
423 break;
424 }
425 }
426 }
427 }
428
429 export function itoa(n) {
430 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
431 let $block = 0;
432 while (true) {
433 switch ($block) {
434 case 0: {
435 $t0_1 = (n === 0);
436 if ($t0_1) {
437 $block = 1; break;
438 }
439 else {
440 $block = 2; break;
441 }
442 break;
443 }
444 case 1: {
445 return '0';
446 break;
447 }
448 case 2: {
449 $t1_2 = (n < 0);
450 if ($t1_2) {
451 $block = 3; break;
452 }
453 else {
454 $t3_4 = n;
455 $t4_5 = false;
456 $block = 4; break;
457 }
458 break;
459 }
460 case 3: {
461 $t2_3 = -n;
462 $t3_4 = $t2_3;
463 $t4_5 = true;
464 $block = 4; break;
465 break;
466 }
467 case 4: {
468 $t5_6 = { $value: $rt.builtin.makeSlice(20, 20, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
469 $t12_13 = $t3_4;
470 $t13_14 = 20;
471 $block = 7; break;
472 break;
473 }
474 case 5: {
475 $t6_7 = ($t13_14 - 1);
476 $t7_8 = ($t12_13 % 10);
477 $t8_9 = (48 + $t7_8);
478 $t9_10 = ($t8_9 & 0xFF);
479 $t10_11 = $t5_6.$get().addr($t6_7);
480 $t10_11.$set($t9_10);
481 $t11_12 = Math.trunc($t12_13 / 10);
482 $t12_13 = $t11_12;
483 $t13_14 = $t6_7;
484 $block = 7; break;
485 break;
486 }
487 case 6: {
488 if ($t4_5) {
489 $block = 8; break;
490 }
491 else {
492 $t17_18 = $t13_14;
493 $block = 9; break;
494 }
495 break;
496 }
497 case 7: {
498 $t14_15 = ($t12_13 > 0);
499 if ($t14_15) {
500 $block = 5; break;
501 }
502 else {
503 $block = 6; break;
504 }
505 break;
506 }
507 case 8: {
508 $t15_16 = ($t13_14 - 1);
509 $t16_17 = $t5_6.$get().addr($t15_16);
510 $t16_17.$set(45);
511 $t17_18 = $t15_16;
512 $block = 9; break;
513 break;
514 }
515 case 9: {
516 $t18_19 = $rt.builtin.sliceSlice($t5_6.$get(), $t17_18, undefined, undefined);
517 $t19_20 = $rt.builtin.bytesToString($t18_19);
518 return $t19_20;
519 break;
520 }
521 }
522 }
523 }
524
525 export function indexOf(s, c) {
526 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
527 let $block = 0;
528 while (true) {
529 switch ($block) {
530 case 0: {
531 $t0_1 = 0;
532 $block = 1; break;
533 break;
534 }
535 case 1: {
536 $t1_2 = $rt.builtin.len(s);
537 $t2_3 = ($t0_1 < $t1_2);
538 if ($t2_3) {
539 $block = 2; break;
540 }
541 else {
542 $block = 3; break;
543 }
544 break;
545 }
546 case 2: {
547 $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen(s));
548 $t3_4 = $rt.builtin.stringByteAt(s, $t0_1);
549 $t4_5 = ($t3_4 === c);
550 if ($t4_5) {
551 $block = 4; break;
552 }
553 else {
554 $block = 5; break;
555 }
556 break;
557 }
558 case 3: {
559 return -1;
560 break;
561 }
562 case 4: {
563 return $t0_1;
564 break;
565 }
566 case 5: {
567 $t5_6 = ($t0_1 + 1);
568 $t0_1 = $t5_6;
569 $block = 1; break;
570 break;
571 }
572 }
573 }
574 }
575
576 export function Sub$Close(s) {
577 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8;
578 let $block = 0;
579 while (true) {
580 switch ($block) {
581 case 0: {
582 $t0_1 = { $get() { return s.$get().conn; }, $set(v) { const obj = s.$get(); obj.conn = v; s.$set(obj); } };
583 $t1_2 = $t0_1.$get();
584 $t2_3 = ($t1_2 !== null);
585 if ($t2_3) {
586 $block = 1; break;
587 }
588 else {
589 $block = 2; break;
590 }
591 break;
592 }
593 case 1: {
594 $t3_4 = { $get() { return s.$get().conn; }, $set(v) { const obj = s.$get(); obj.conn = v; s.$set(obj); } };
595 $t4_5 = $t3_4.$get();
596 $t5_6 = { $get() { return s.$get().ID; }, $set(v) { const obj = s.$get(); obj.ID = v; s.$set(obj); } };
597 $t6_7 = $t5_6.$get();
598 $t7_8 = Conn$CloseSubscription($t4_5, $t6_7);
599 $block = 2; break;
600 break;
601 }
602 case 2: {
603 return;
604 break;
605 }
606 }
607 }
608 }
609
610 $rt.types.getType('common/relay.Sub')?.methods?.set('Close', Sub$Close);
611 export function Sub$GotEOSE(s) {
612 let $t0_1, $t1_2;
613 $t0_1 = { $get() { return s.$get().gotEOSE; }, $set(v) { const obj = s.$get(); obj.gotEOSE = v; s.$set(obj); } };
614 $t1_2 = $t0_1.$get();
615 return $t1_2;
616 }
617
618 $rt.types.getType('common/relay.Sub')?.methods?.set('GotEOSE', Sub$GotEOSE);
619 export function Pool$CloseAll(p) {
620 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
621 let $block = 0;
622 while (true) {
623 switch ($block) {
624 case 0: {
625 $t0_1 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
626 $t1_2 = $t0_1.$get();
627 $t2_3 = { $entries: [...$t1_2.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
628 $block = 1; break;
629 break;
630 }
631 case 1: {
632 $t3_4 = $t2_3.next();
633 $t4_5 = $t3_4[0];
634 if ($t4_5) {
635 $block = 2; break;
636 }
637 else {
638 $block = 3; break;
639 }
640 break;
641 }
642 case 2: {
643 $t5_6 = $t3_4[1];
644 $t6_7 = $t3_4[2];
645 $t7_8 = Conn$Close($t6_7);
646 $t8_9 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
647 $t9_10 = $t8_9.$get();
648 $t10_11 = $rt.builtin.mapDelete($t9_10, $t5_6);
649 $block = 1; break;
650 break;
651 }
652 case 3: {
653 return;
654 break;
655 }
656 }
657 }
658 }
659
660 $rt.types.getType('common/relay.Pool')?.methods?.set('CloseAll', Pool$CloseAll);
661 export function Pool$Connect(p, url) {
662 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12;
663 let $block = 0;
664 while (true) {
665 switch ($block) {
666 case 0: {
667 $t0_1 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
668 $t1_2 = $t0_1.$get();
669 { const $r = $rt.builtin.mapLookup($t1_2, url); $t2_3 = [$r.value, $r.ok]; }
670 $t3_4 = $t2_3[0];
671 $t4_5 = $t2_3[1];
672 if ($t4_5) {
673 $block = 3; break;
674 }
675 else {
676 $block = 2; break;
677 }
678 break;
679 }
680 case 1: {
681 return $t3_4;
682 break;
683 }
684 case 2: {
685 $t5_6 = Pool$evictClosed(p);
686 $t6_7 = Dial(url);
687 $t7_8 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
688 $t8_9 = $t7_8.$get();
689 $rt.builtin.mapUpdate($t8_9, url, $t6_7);
690 return $t6_7;
691 break;
692 }
693 case 3: {
694 $t9_10 = { $get() { return $t3_4.$get().state; }, $set(v) { const obj = $t3_4.$get(); obj.state = v; $t3_4.$set(obj); } };
695 $t10_11 = $t9_10.$get();
696 $t11_12 = ($t10_11 !== 2);
697 if ($t11_12) {
698 $block = 1; break;
699 }
700 else {
701 $block = 2; break;
702 }
703 break;
704 }
705 }
706 }
707 }
708
709 $rt.types.getType('common/relay.Pool')?.methods?.set('Connect', Pool$Connect);
710 export function Pool$Disconnect(p, url) {
711 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
712 let $block = 0;
713 while (true) {
714 switch ($block) {
715 case 0: {
716 $t0_1 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
717 $t1_2 = $t0_1.$get();
718 { const $r = $rt.builtin.mapLookup($t1_2, url); $t2_3 = [$r.value, $r.ok]; }
719 $t3_4 = $t2_3[0];
720 $t4_5 = $t2_3[1];
721 if ($t4_5) {
722 $block = 1; break;
723 }
724 else {
725 $block = 2; break;
726 }
727 break;
728 }
729 case 1: {
730 $t5_6 = Conn$Close($t3_4);
731 $t6_7 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
732 $t7_8 = $t6_7.$get();
733 $t8_9 = $rt.builtin.mapDelete($t7_8, url);
734 $block = 2; break;
735 break;
736 }
737 case 2: {
738 return;
739 break;
740 }
741 }
742 }
743 }
744
745 $rt.types.getType('common/relay.Pool')?.methods?.set('Disconnect', Pool$Disconnect);
746 export function Pool$Get(p, url) {
747 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
748 let $block = 0;
749 while (true) {
750 switch ($block) {
751 case 0: {
752 $t0_1 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
753 $t1_2 = $t0_1.$get();
754 { const $r = $rt.builtin.mapLookup($t1_2, url); $t2_3 = [$r.value, $r.ok]; }
755 $t3_4 = $t2_3[0];
756 $t4_5 = $t2_3[1];
757 if ($t4_5) {
758 $block = 3; break;
759 }
760 else {
761 $block = 1; break;
762 }
763 break;
764 }
765 case 1: {
766 return null;
767 break;
768 }
769 case 2: {
770 return $t3_4;
771 break;
772 }
773 case 3: {
774 $t5_6 = Conn$IsOpen($t3_4);
775 if ($t5_6) {
776 $block = 2; break;
777 }
778 else {
779 $block = 1; break;
780 }
781 break;
782 }
783 }
784 }
785 }
786
787 $rt.types.getType('common/relay.Pool')?.methods?.set('Get', Pool$Get);
788 export function Pool$URLs(p) {
789 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13;
790 let $block = 0;
791 while (true) {
792 switch ($block) {
793 case 0: {
794 $t0_1 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
795 $t1_2 = $t0_1.$get();
796 $t2_3 = { $entries: [...$t1_2.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
797 $t3_4 = null;
798 $block = 1; break;
799 break;
800 }
801 case 1: {
802 $t4_5 = $t2_3.next();
803 $t5_6 = $t4_5[0];
804 if ($t5_6) {
805 $block = 2; break;
806 }
807 else {
808 $block = 3; break;
809 }
810 break;
811 }
812 case 2: {
813 $t6_7 = $t4_5[1];
814 $t7_8 = $t4_5[2];
815 $t8_9 = Conn$IsOpen($t7_8);
816 if ($t8_9) {
817 $block = 4; break;
818 }
819 else {
820 $t3_4 = $t3_4;
821 $block = 1; break;
822 }
823 break;
824 }
825 case 3: {
826 return $t3_4;
827 break;
828 }
829 case 4: {
830 $t9_10 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
831 $t10_11 = $t9_10.$get().addr(0);
832 $t10_11.$set($t6_7);
833 $t11_12 = $rt.builtin.sliceSlice($t9_10.$get(), undefined, undefined, undefined);
834 $t12_13 = $rt.builtin.appendSlice($t3_4, $t11_12);
835 $t3_4 = $t12_13;
836 $block = 1; break;
837 break;
838 }
839 }
840 }
841 }
842
843 $rt.types.getType('common/relay.Pool')?.methods?.set('URLs', Pool$URLs);
844 export function Pool$evictClosed(p) {
845 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13;
846 let $block = 0;
847 while (true) {
848 switch ($block) {
849 case 0: {
850 $t0_1 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
851 $t1_2 = $t0_1.$get();
852 $t2_3 = { $entries: [...$t1_2.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
853 $block = 1; break;
854 break;
855 }
856 case 1: {
857 $t3_4 = $t2_3.next();
858 $t4_5 = $t3_4[0];
859 if ($t4_5) {
860 $block = 2; break;
861 }
862 else {
863 $block = 3; break;
864 }
865 break;
866 }
867 case 2: {
868 $t5_6 = $t3_4[1];
869 $t6_7 = $t3_4[2];
870 $t7_8 = { $get() { return $t6_7.$get().state; }, $set(v) { const obj = $t6_7.$get(); obj.state = v; $t6_7.$set(obj); } };
871 $t8_9 = $t7_8.$get();
872 $t9_10 = ($t8_9 === 2);
873 if ($t9_10) {
874 $block = 4; break;
875 }
876 else {
877 $block = 1; break;
878 }
879 break;
880 }
881 case 3: {
882 return;
883 break;
884 }
885 case 4: {
886 $t10_11 = { $get() { return p.$get().conns; }, $set(v) { const obj = p.$get(); obj.conns = v; p.$set(obj); } };
887 $t11_12 = $t10_11.$get();
888 $t12_13 = $rt.builtin.mapDelete($t11_12, $t5_6);
889 $block = 1; break;
890 break;
891 }
892 }
893 }
894 }
895
896 $rt.types.getType('common/relay.Pool')?.methods?.set('evictClosed', Pool$evictClosed);
897 export function Conn$Close(c) {
898 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
899 $t0_1 = { $get() { return c.$get().closing; }, $set(v) { const obj = c.$get(); obj.closing = v; c.$set(obj); } };
900 $t0_1.$set(true);
901 $t1_2 = { $get() { return c.$get().state; }, $set(v) { const obj = c.$get(); obj.state = v; c.$set(obj); } };
902 $t1_2.$set(2);
903 $t2_3 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
904 $t3_4 = $t2_3.$get();
905 $t4_5 = common$jsbridge$ws.Close($t3_4);
906 return;
907 }
908
909 $rt.types.getType('common/relay.Conn')?.methods?.set('Close', Conn$Close);
910 export function Conn$CloseSubscription(c, id) {
911 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8;
912 $t0_1 = { $get() { return c.$get().subs; }, $set(v) { const obj = c.$get(); obj.subs = v; c.$set(obj); } };
913 $t1_2 = $t0_1.$get();
914 $t2_3 = $rt.builtin.mapDelete($t1_2, id);
915 $t3_4 = ('["CLOSE","' + id);
916 $t4_5 = ($t3_4 + '"]');
917 $t5_6 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
918 $t6_7 = $t5_6.$get();
919 $t7_8 = common$jsbridge$ws.Send($t6_7, $t4_5);
920 return;
921 }
922
923 $rt.types.getType('common/relay.Conn')?.methods?.set('CloseSubscription', Conn$CloseSubscription);
924 export function Conn$IsOpen(c) {
925 let $t0_1, $t1_2, $t2_3;
926 $t0_1 = { $get() { return c.$get().state; }, $set(v) { const obj = c.$get(); obj.state = v; c.$set(obj); } };
927 $t1_2 = $t0_1.$get();
928 $t2_3 = ($t1_2 === 1);
929 return $t2_3;
930 }
931
932 $rt.types.getType('common/relay.Conn')?.methods?.set('IsOpen', Conn$IsOpen);
933 export function Conn$OnReady(c, fn) {
934 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
935 let $block = 0;
936 while (true) {
937 switch ($block) {
938 case 0: {
939 $t0_1 = { $get() { return c.$get().state; }, $set(v) { const obj = c.$get(); obj.state = v; c.$set(obj); } };
940 $t1_2 = $t0_1.$get();
941 $t2_3 = ($t1_2 === 1);
942 if ($t2_3) {
943 $block = 1; break;
944 }
945 else {
946 $block = 2; break;
947 }
948 break;
949 }
950 case 1: {
951 $t3_4 = fn(true);
952 return;
953 break;
954 }
955 case 2: {
956 $t4_5 = { $get() { return c.$get().state; }, $set(v) { const obj = c.$get(); obj.state = v; c.$set(obj); } };
957 $t5_6 = $t4_5.$get();
958 $t6_7 = ($t5_6 === 2);
959 if ($t6_7) {
960 $block = 3; break;
961 }
962 else {
963 $block = 4; break;
964 }
965 break;
966 }
967 case 3: {
968 $t7_8 = fn(false);
969 return;
970 break;
971 }
972 case 4: {
973 $t8_9 = { $get() { return c.$get().onReady; }, $set(v) { const obj = c.$get(); obj.onReady = v; c.$set(obj); } };
974 $t8_9.$set(fn);
975 return;
976 break;
977 }
978 }
979 }
980 }
981
982 $rt.types.getType('common/relay.Conn')?.methods?.set('OnReady', Conn$OnReady);
983 export function Conn$Publish(c, ev) {
984 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16;
985 let $block = 0;
986 while (true) {
987 switch ($block) {
988 case 0: {
989 $t0_1 = eventJSON(ev);
990 $t1_2 = ('["EVENT",' + $t0_1);
991 $t2_3 = ($t1_2 + ']');
992 $t3_4 = { $get() { return c.$get().state; }, $set(v) { const obj = c.$get(); obj.state = v; c.$set(obj); } };
993 $t4_5 = $t3_4.$get();
994 $t5_6 = ($t4_5 !== 1);
995 if ($t5_6) {
996 $block = 1; break;
997 }
998 else {
999 $block = 2; break;
1000 }
1001 break;
1002 }
1003 case 1: {
1004 $t6_7 = { $get() { return c.$get().pendingPublish; }, $set(v) { const obj = c.$get(); obj.pendingPublish = v; c.$set(obj); } };
1005 $t7_8 = $t6_7.$get();
1006 $t8_9 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1007 $t9_10 = $t8_9.$get().addr(0);
1008 $t9_10.$set($t2_3);
1009 $t10_11 = $rt.builtin.sliceSlice($t8_9.$get(), undefined, undefined, undefined);
1010 $t11_12 = $rt.builtin.appendSlice($t7_8, $t10_11);
1011 $t12_13 = { $get() { return c.$get().pendingPublish; }, $set(v) { const obj = c.$get(); obj.pendingPublish = v; c.$set(obj); } };
1012 $t12_13.$set($t11_12);
1013 return;
1014 break;
1015 }
1016 case 2: {
1017 $t13_14 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
1018 $t14_15 = $t13_14.$get();
1019 $t15_16 = common$jsbridge$ws.Send($t14_15, $t2_3);
1020 return;
1021 break;
1022 }
1023 }
1024 }
1025 }
1026
1027 $rt.types.getType('common/relay.Conn')?.methods?.set('Publish', Conn$Publish);
1028 export function Conn$Send(c, msg) {
1029 let $t0_1, $t1_2, $t2_3;
1030 $t0_1 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
1031 $t1_2 = $t0_1.$get();
1032 $t2_3 = common$jsbridge$ws.Send($t1_2, msg);
1033 return;
1034 }
1035
1036 $rt.types.getType('common/relay.Conn')?.methods?.set('Send', Conn$Send);
1037 export function Conn$SetOnAuth(c, fn) {
1038 let $t0_1;
1039 $t0_1 = { $get() { return c.$get().onAuth; }, $set(v) { const obj = c.$get(); obj.onAuth = v; c.$set(obj); } };
1040 $t0_1.$set(fn);
1041 return;
1042 }
1043
1044 $rt.types.getType('common/relay.Conn')?.methods?.set('SetOnAuth', Conn$SetOnAuth);
1045 export function Conn$SetOnEOSE(c, fn) {
1046 let $t0_1;
1047 $t0_1 = { $get() { return c.$get().onEOSE; }, $set(v) { const obj = c.$get(); obj.onEOSE = v; c.$set(obj); } };
1048 $t0_1.$set(fn);
1049 return;
1050 }
1051
1052 $rt.types.getType('common/relay.Conn')?.methods?.set('SetOnEOSE', Conn$SetOnEOSE);
1053 export function Conn$SetOnEvent(c, fn) {
1054 let $t0_1;
1055 $t0_1 = { $get() { return c.$get().onEvent; }, $set(v) { const obj = c.$get(); obj.onEvent = v; c.$set(obj); } };
1056 $t0_1.$set(fn);
1057 return;
1058 }
1059
1060 $rt.types.getType('common/relay.Conn')?.methods?.set('SetOnEvent', Conn$SetOnEvent);
1061 export function Conn$SetOnOK(c, fn) {
1062 let $t0_1;
1063 $t0_1 = { $get() { return c.$get().onOK; }, $set(v) { const obj = c.$get(); obj.onOK = v; c.$set(obj); } };
1064 $t0_1.$set(fn);
1065 return;
1066 }
1067
1068 $rt.types.getType('common/relay.Conn')?.methods?.set('SetOnOK', Conn$SetOnOK);
1069 export function Conn$Subscribe(c, id, filters) {
1070 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
1071 let $block = 0;
1072 while (true) {
1073 switch ($block) {
1074 case 0: {
1075 $t0_1 = { $value: { ID: '', Filters: null, OnEvent: null, OnEOSE: null, conn: null, gotEOSE: false }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
1076 $t1_2 = { $get() { return $t0_1.$get().ID; }, $set(v) { const obj = $t0_1.$get(); obj.ID = v; $t0_1.$set(obj); } };
1077 $t2_3 = { $get() { return $t0_1.$get().Filters; }, $set(v) { const obj = $t0_1.$get(); obj.Filters = v; $t0_1.$set(obj); } };
1078 $t3_4 = { $get() { return $t0_1.$get().conn; }, $set(v) { const obj = $t0_1.$get(); obj.conn = v; $t0_1.$set(obj); } };
1079 $t1_2.$set(id);
1080 $t2_3.$set(filters);
1081 $t3_4.$set(c);
1082 $t4_5 = { $get() { return c.$get().subs; }, $set(v) { const obj = c.$get(); obj.subs = v; c.$set(obj); } };
1083 $t5_6 = $t4_5.$get();
1084 $rt.builtin.mapUpdate($t5_6, id, $t0_1);
1085 $t6_7 = { $get() { return c.$get().state; }, $set(v) { const obj = c.$get(); obj.state = v; c.$set(obj); } };
1086 $t7_8 = $t6_7.$get();
1087 $t8_9 = ($t7_8 === 1);
1088 if ($t8_9) {
1089 $block = 1; break;
1090 }
1091 else {
1092 $block = 2; break;
1093 }
1094 break;
1095 }
1096 case 1: {
1097 $t9_10 = ('["REQ","' + id);
1098 $t10_11 = ($t9_10 + '"');
1099 $t11_12 = $rt.builtin.len(filters);
1100 $t12_13 = $t10_11;
1101 $t13_14 = -1;
1102 $block = 3; break;
1103 break;
1104 }
1105 case 2: {
1106 return $t0_1;
1107 break;
1108 }
1109 case 3: {
1110 $t14_15 = ($t13_14 + 1);
1111 $t15_16 = ($t14_15 < $t11_12);
1112 if ($t15_16) {
1113 $block = 4; break;
1114 }
1115 else {
1116 $block = 5; break;
1117 }
1118 break;
1119 }
1120 case 4: {
1121 $t16_17 = filters.addr($t14_15);
1122 $t17_18 = $t16_17.$get();
1123 $t18_19 = common$nostr.Filter$Serialize($t17_18);
1124 $t19_20 = (',' + $t18_19);
1125 $t20_21 = ($t12_13 + $t19_20);
1126 $t12_13 = $t20_21;
1127 $t13_14 = $t14_15;
1128 $block = 3; break;
1129 break;
1130 }
1131 case 5: {
1132 $t21_22 = ($t12_13 + ']');
1133 $t22_23 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
1134 $t23_24 = $t22_23.$get();
1135 $t24_25 = common$jsbridge$ws.Send($t23_24, $t21_22);
1136 $block = 2; break;
1137 break;
1138 }
1139 }
1140 }
1141 }
1142
1143 $rt.types.getType('common/relay.Conn')?.methods?.set('Subscribe', Conn$Subscribe);
1144 export function Conn$dial(c) {
1145 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
1146 $t0_1 = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
1147 $t0_1.$set(c);
1148 $t1_2 = $t0_1.$get();
1149 $t2_3 = $t0_1.$get();
1150 $t3_4 = { $get() { return $t2_3.$get().URL; }, $set(v) { const obj = $t2_3.$get(); obj.URL = v; $t2_3.$set(obj); } };
1151 $t4_5 = $t3_4.$get();
1152 $t5_6 = dial$1.bind(null, $t0_1);
1153 $t6_7 = dial$2.bind(null, $t0_1);
1154 $t7_8 = dial$3.bind(null, $t0_1);
1155 $t8_9 = dial$4.bind(null, $t0_1);
1156 $t9_10 = common$jsbridge$ws.Dial($t4_5, $t5_6, $t6_7, $t7_8, $t8_9);
1157 $t10_11 = { $get() { return $t1_2.$get().wsConn; }, $set(v) { const obj = $t1_2.$get(); obj.wsConn = v; $t1_2.$set(obj); } };
1158 $t10_11.$set($t9_10);
1159 return;
1160 }
1161
1162 function dial$1(c, connID, data) {
1163 let $t0_1, $t1_2;
1164 $t0_1 = c.$get();
1165 $t1_2 = Conn$handleMessage($t0_1, data);
1166 return;
1167 }
1168
1169 function dial$2(c, connID) {
1170 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16;
1171 let $block = 0;
1172 while (true) {
1173 switch ($block) {
1174 case 0: {
1175 $t0_1 = c.$get();
1176 $t1_2 = { $get() { return $t0_1.$get().state; }, $set(v) { const obj = $t0_1.$get(); obj.state = v; $t0_1.$set(obj); } };
1177 $t1_2.$set(1);
1178 $t2_3 = c.$get();
1179 $t3_4 = { $get() { return $t2_3.$get().onReady; }, $set(v) { const obj = $t2_3.$get(); obj.onReady = v; $t2_3.$set(obj); } };
1180 $t4_5 = $t3_4.$get();
1181 $t5_6 = ($t4_5 !== null);
1182 if ($t5_6) {
1183 $block = 1; break;
1184 }
1185 else {
1186 $block = 2; break;
1187 }
1188 break;
1189 }
1190 case 1: {
1191 $t6_7 = c.$get();
1192 $t7_8 = { $get() { return $t6_7.$get().onReady; }, $set(v) { const obj = $t6_7.$get(); obj.onReady = v; $t6_7.$set(obj); } };
1193 $t8_9 = $t7_8.$get();
1194 $t9_10 = $t8_9(true);
1195 $t10_11 = c.$get();
1196 $t11_12 = { $get() { return $t10_11.$get().onReady; }, $set(v) { const obj = $t10_11.$get(); obj.onReady = v; $t10_11.$set(obj); } };
1197 $t11_12.$set(null);
1198 $block = 2; break;
1199 break;
1200 }
1201 case 2: {
1202 $t12_13 = c.$get();
1203 $t13_14 = Conn$flushSubs($t12_13);
1204 $t14_15 = c.$get();
1205 $t15_16 = Conn$flushPublish($t14_15);
1206 return;
1207 break;
1208 }
1209 }
1210 }
1211 }
1212
1213 function dial$3(c, connID, code, reason) {
1214 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
1215 let $block = 0;
1216 while (true) {
1217 switch ($block) {
1218 case 0: {
1219 $t0_1 = c.$get();
1220 $t1_2 = { $get() { return $t0_1.$get().state; }, $set(v) { const obj = $t0_1.$get(); obj.state = v; $t0_1.$set(obj); } };
1221 $t1_2.$set(2);
1222 $t2_3 = c.$get();
1223 $t3_4 = { $get() { return $t2_3.$get().onReady; }, $set(v) { const obj = $t2_3.$get(); obj.onReady = v; $t2_3.$set(obj); } };
1224 $t4_5 = $t3_4.$get();
1225 $t5_6 = ($t4_5 !== null);
1226 if ($t5_6) {
1227 $block = 1; break;
1228 }
1229 else {
1230 $block = 2; break;
1231 }
1232 break;
1233 }
1234 case 1: {
1235 $t6_7 = c.$get();
1236 $t7_8 = { $get() { return $t6_7.$get().onReady; }, $set(v) { const obj = $t6_7.$get(); obj.onReady = v; $t6_7.$set(obj); } };
1237 $t8_9 = $t7_8.$get();
1238 $t9_10 = $t8_9(false);
1239 $t10_11 = c.$get();
1240 $t11_12 = { $get() { return $t10_11.$get().onReady; }, $set(v) { const obj = $t10_11.$get(); obj.onReady = v; $t10_11.$set(obj); } };
1241 $t11_12.$set(null);
1242 $block = 2; break;
1243 break;
1244 }
1245 case 2: {
1246 $t12_13 = c.$get();
1247 $t13_14 = Conn$maybeReconnect($t12_13);
1248 return;
1249 break;
1250 }
1251 }
1252 }
1253 }
1254
1255 function dial$4(c, connID) {
1256 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
1257 let $block = 0;
1258 while (true) {
1259 switch ($block) {
1260 case 0: {
1261 $t0_1 = c.$get();
1262 $t1_2 = { $get() { return $t0_1.$get().state; }, $set(v) { const obj = $t0_1.$get(); obj.state = v; $t0_1.$set(obj); } };
1263 $t1_2.$set(2);
1264 $t2_3 = c.$get();
1265 $t3_4 = { $get() { return $t2_3.$get().onReady; }, $set(v) { const obj = $t2_3.$get(); obj.onReady = v; $t2_3.$set(obj); } };
1266 $t4_5 = $t3_4.$get();
1267 $t5_6 = ($t4_5 !== null);
1268 if ($t5_6) {
1269 $block = 1; break;
1270 }
1271 else {
1272 $block = 2; break;
1273 }
1274 break;
1275 }
1276 case 1: {
1277 $t6_7 = c.$get();
1278 $t7_8 = { $get() { return $t6_7.$get().onReady; }, $set(v) { const obj = $t6_7.$get(); obj.onReady = v; $t6_7.$set(obj); } };
1279 $t8_9 = $t7_8.$get();
1280 $t9_10 = $t8_9(false);
1281 $t10_11 = c.$get();
1282 $t11_12 = { $get() { return $t10_11.$get().onReady; }, $set(v) { const obj = $t10_11.$get(); obj.onReady = v; $t10_11.$set(obj); } };
1283 $t11_12.$set(null);
1284 $block = 2; break;
1285 break;
1286 }
1287 case 2: {
1288 $t12_13 = c.$get();
1289 $t13_14 = Conn$maybeReconnect($t12_13);
1290 return;
1291 break;
1292 }
1293 }
1294 }
1295 }
1296
1297 $rt.types.getType('common/relay.Conn')?.methods?.set('dial', Conn$dial);
1298 export function Conn$flushPublish(c) {
1299 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12;
1300 let $block = 0;
1301 while (true) {
1302 switch ($block) {
1303 case 0: {
1304 $t0_1 = { $get() { return c.$get().pendingPublish; }, $set(v) { const obj = c.$get(); obj.pendingPublish = v; c.$set(obj); } };
1305 $t1_2 = $t0_1.$get();
1306 $t2_3 = $rt.builtin.len($t1_2);
1307 $t3_4 = -1;
1308 $block = 1; break;
1309 break;
1310 }
1311 case 1: {
1312 $t4_5 = ($t3_4 + 1);
1313 $t5_6 = ($t4_5 < $t2_3);
1314 if ($t5_6) {
1315 $block = 2; break;
1316 }
1317 else {
1318 $block = 3; break;
1319 }
1320 break;
1321 }
1322 case 2: {
1323 $t6_7 = $t1_2.addr($t4_5);
1324 $t7_8 = $t6_7.$get();
1325 $t8_9 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
1326 $t9_10 = $t8_9.$get();
1327 $t10_11 = common$jsbridge$ws.Send($t9_10, $t7_8);
1328 $t3_4 = $t4_5;
1329 $block = 1; break;
1330 break;
1331 }
1332 case 3: {
1333 $t11_12 = { $get() { return c.$get().pendingPublish; }, $set(v) { const obj = c.$get(); obj.pendingPublish = v; c.$set(obj); } };
1334 $t11_12.$set(null);
1335 return;
1336 break;
1337 }
1338 }
1339 }
1340 }
1341
1342 $rt.types.getType('common/relay.Conn')?.methods?.set('flushPublish', Conn$flushPublish);
1343 export function Conn$flushSubs(c) {
1344 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26;
1345 let $block = 0;
1346 while (true) {
1347 switch ($block) {
1348 case 0: {
1349 $t0_1 = { $get() { return c.$get().subs; }, $set(v) { const obj = c.$get(); obj.subs = v; c.$set(obj); } };
1350 $t1_2 = $t0_1.$get();
1351 $t2_3 = { $entries: [...$t1_2.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
1352 $block = 1; break;
1353 break;
1354 }
1355 case 1: {
1356 $t3_4 = $t2_3.next();
1357 $t4_5 = $t3_4[0];
1358 if ($t4_5) {
1359 $block = 2; break;
1360 }
1361 else {
1362 $block = 3; break;
1363 }
1364 break;
1365 }
1366 case 2: {
1367 $t5_6 = $t3_4[2];
1368 $t6_7 = { $get() { return $t5_6.$get().ID; }, $set(v) { const obj = $t5_6.$get(); obj.ID = v; $t5_6.$set(obj); } };
1369 $t7_8 = $t6_7.$get();
1370 $t8_9 = ('["REQ","' + $t7_8);
1371 $t9_10 = ($t8_9 + '"');
1372 $t10_11 = { $get() { return $t5_6.$get().Filters; }, $set(v) { const obj = $t5_6.$get(); obj.Filters = v; $t5_6.$set(obj); } };
1373 $t11_12 = $t10_11.$get();
1374 $t12_13 = $rt.builtin.len($t11_12);
1375 $t13_14 = $t9_10;
1376 $t14_15 = -1;
1377 $block = 4; break;
1378 break;
1379 }
1380 case 3: {
1381 return;
1382 break;
1383 }
1384 case 4: {
1385 $t15_16 = ($t14_15 + 1);
1386 $t16_17 = ($t15_16 < $t12_13);
1387 if ($t16_17) {
1388 $block = 5; break;
1389 }
1390 else {
1391 $block = 6; break;
1392 }
1393 break;
1394 }
1395 case 5: {
1396 $t17_18 = $t11_12.addr($t15_16);
1397 $t18_19 = $t17_18.$get();
1398 $t19_20 = common$nostr.Filter$Serialize($t18_19);
1399 $t20_21 = (',' + $t19_20);
1400 $t21_22 = ($t13_14 + $t20_21);
1401 $t13_14 = $t21_22;
1402 $t14_15 = $t15_16;
1403 $block = 4; break;
1404 break;
1405 }
1406 case 6: {
1407 $t22_23 = ($t13_14 + ']');
1408 $t23_24 = { $get() { return c.$get().wsConn; }, $set(v) { const obj = c.$get(); obj.wsConn = v; c.$set(obj); } };
1409 $t24_25 = $t23_24.$get();
1410 $t25_26 = common$jsbridge$ws.Send($t24_25, $t22_23);
1411 $block = 1; break;
1412 break;
1413 }
1414 }
1415 }
1416 }
1417
1418 $rt.types.getType('common/relay.Conn')?.methods?.set('flushSubs', Conn$flushSubs);
1419 export function Conn$handleMessage(c, msg) {
1420 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71;
1421 let $block = 0;
1422 while (true) {
1423 switch ($block) {
1424 case 0: {
1425 $t0_1 = common$nostr.ParseRelayMessage(msg);
1426 $t1_2 = $t0_1[0];
1427 $t2_3 = $t0_1[1];
1428 $t3_4 = $t0_1[2];
1429 $t4_5 = ($t1_2 === 'EVENT');
1430 if ($t4_5) {
1431 $block = 2; break;
1432 }
1433 else {
1434 $block = 4; break;
1435 }
1436 break;
1437 }
1438 case 1: {
1439 return;
1440 break;
1441 }
1442 case 2: {
1443 $t5_6 = common$nostr.ParseEvent($t3_4);
1444 $t6_7 = ($t5_6 === null);
1445 if ($t6_7) {
1446 $block = 5; break;
1447 }
1448 else {
1449 $block = 6; break;
1450 }
1451 break;
1452 }
1453 case 3: {
1454 $t7_8 = { $get() { return c.$get().subs; }, $set(v) { const obj = c.$get(); obj.subs = v; c.$set(obj); } };
1455 $t8_9 = $t7_8.$get();
1456 { const $r = $rt.builtin.mapLookup($t8_9, $t2_3); $t9_10 = [$r.value, $r.ok]; }
1457 $t10_11 = $t9_10[0];
1458 $t11_12 = $t9_10[1];
1459 if ($t11_12) {
1460 $block = 13; break;
1461 }
1462 else {
1463 $block = 14; break;
1464 }
1465 break;
1466 }
1467 case 4: {
1468 $t12_13 = ($t1_2 === 'EOSE');
1469 if ($t12_13) {
1470 $block = 3; break;
1471 }
1472 else {
1473 $block = 12; break;
1474 }
1475 break;
1476 }
1477 case 5: {
1478 return;
1479 break;
1480 }
1481 case 6: {
1482 $t13_14 = { $get() { return c.$get().subs; }, $set(v) { const obj = c.$get(); obj.subs = v; c.$set(obj); } };
1483 $t14_15 = $t13_14.$get();
1484 { const $r = $rt.builtin.mapLookup($t14_15, $t2_3); $t15_16 = [$r.value, $r.ok]; }
1485 $t16_17 = $t15_16[0];
1486 $t17_18 = $t15_16[1];
1487 if ($t17_18) {
1488 $block = 7; break;
1489 }
1490 else {
1491 $block = 8; break;
1492 }
1493 break;
1494 }
1495 case 7: {
1496 $t18_19 = { $get() { return $t16_17.$get().OnEvent; }, $set(v) { const obj = $t16_17.$get(); obj.OnEvent = v; $t16_17.$set(obj); } };
1497 $t19_20 = $t18_19.$get();
1498 $t20_21 = ($t19_20 !== null);
1499 if ($t20_21) {
1500 $block = 9; break;
1501 }
1502 else {
1503 $block = 8; break;
1504 }
1505 break;
1506 }
1507 case 8: {
1508 $t21_22 = { $get() { return c.$get().onEvent; }, $set(v) { const obj = c.$get(); obj.onEvent = v; c.$set(obj); } };
1509 $t22_23 = $t21_22.$get();
1510 $t23_24 = ($t22_23 !== null);
1511 if ($t23_24) {
1512 $block = 10; break;
1513 }
1514 else {
1515 $block = 1; break;
1516 }
1517 break;
1518 }
1519 case 9: {
1520 $t24_25 = { $get() { return $t16_17.$get().OnEvent; }, $set(v) { const obj = $t16_17.$get(); obj.OnEvent = v; $t16_17.$set(obj); } };
1521 $t25_26 = $t24_25.$get();
1522 $t26_27 = $t25_26($t5_6);
1523 $block = 8; break;
1524 break;
1525 }
1526 case 10: {
1527 $t27_28 = { $get() { return c.$get().onEvent; }, $set(v) { const obj = c.$get(); obj.onEvent = v; c.$set(obj); } };
1528 $t28_29 = $t27_28.$get();
1529 $t29_30 = $t28_29($t2_3, $t5_6);
1530 $block = 1; break;
1531 break;
1532 }
1533 case 11: {
1534 $t30_31 = $rt.builtin.len($t3_4);
1535 $t31_32 = ($t30_31 > 0);
1536 if ($t31_32) {
1537 $block = 19; break;
1538 }
1539 else {
1540 $t52_53 = false;
1541 $block = 20; break;
1542 }
1543 break;
1544 }
1545 case 12: {
1546 $t32_33 = ($t1_2 === 'OK');
1547 if ($t32_33) {
1548 $block = 11; break;
1549 }
1550 else {
1551 $block = 18; break;
1552 }
1553 break;
1554 }
1555 case 13: {
1556 $t33_34 = { $get() { return $t10_11.$get().gotEOSE; }, $set(v) { const obj = $t10_11.$get(); obj.gotEOSE = v; $t10_11.$set(obj); } };
1557 $t33_34.$set(true);
1558 $t34_35 = { $get() { return $t10_11.$get().OnEOSE; }, $set(v) { const obj = $t10_11.$get(); obj.OnEOSE = v; $t10_11.$set(obj); } };
1559 $t35_36 = $t34_35.$get();
1560 $t36_37 = ($t35_36 !== null);
1561 if ($t36_37) {
1562 $block = 15; break;
1563 }
1564 else {
1565 $block = 14; break;
1566 }
1567 break;
1568 }
1569 case 14: {
1570 $t37_38 = { $get() { return c.$get().onEOSE; }, $set(v) { const obj = c.$get(); obj.onEOSE = v; c.$set(obj); } };
1571 $t38_39 = $t37_38.$get();
1572 $t39_40 = ($t38_39 !== null);
1573 if ($t39_40) {
1574 $block = 16; break;
1575 }
1576 else {
1577 $block = 1; break;
1578 }
1579 break;
1580 }
1581 case 15: {
1582 $t40_41 = { $get() { return $t10_11.$get().OnEOSE; }, $set(v) { const obj = $t10_11.$get(); obj.OnEOSE = v; $t10_11.$set(obj); } };
1583 $t41_42 = $t40_41.$get();
1584 $t42_43 = $t41_42();
1585 $block = 14; break;
1586 break;
1587 }
1588 case 16: {
1589 $t43_44 = { $get() { return c.$get().onEOSE; }, $set(v) { const obj = c.$get(); obj.onEOSE = v; c.$set(obj); } };
1590 $t44_45 = $t43_44.$get();
1591 $t45_46 = $t44_45($t2_3);
1592 $block = 1; break;
1593 break;
1594 }
1595 case 17: {
1596 $t46_47 = { $get() { return c.$get().onAuth; }, $set(v) { const obj = c.$get(); obj.onAuth = v; c.$set(obj); } };
1597 $t47_48 = $t46_47.$get();
1598 $t48_49 = ($t47_48 !== null);
1599 if ($t48_49) {
1600 $block = 27; break;
1601 }
1602 else {
1603 $block = 1; break;
1604 }
1605 break;
1606 }
1607 case 18: {
1608 $t49_50 = ($t1_2 === 'AUTH');
1609 if ($t49_50) {
1610 $block = 17; break;
1611 }
1612 else {
1613 $block = 26; break;
1614 }
1615 break;
1616 }
1617 case 19: {
1618 $rt.runtime.boundsCheck(0, $rt.builtin.byteLen($t3_4));
1619 $t50_51 = $rt.builtin.stringByteAt($t3_4, 0);
1620 $t51_52 = ($t50_51 === 116);
1621 $t52_53 = $t51_52;
1622 $block = 20; break;
1623 break;
1624 }
1625 case 20: {
1626 $t53_54 = indexOf($t3_4, 58);
1627 $t54_55 = ($t53_54 >= 0);
1628 if ($t54_55) {
1629 $block = 23; break;
1630 }
1631 else {
1632 $t57_58 = '';
1633 $block = 22; break;
1634 }
1635 break;
1636 }
1637 case 21: {
1638 $t55_56 = ($t53_54 + 1);
1639 $t56_57 = $rt.builtin.stringSlice($t3_4, $t55_56, undefined);
1640 $t57_58 = $t56_57;
1641 $block = 22; break;
1642 break;
1643 }
1644 case 22: {
1645 $t58_59 = { $get() { return c.$get().onOK; }, $set(v) { const obj = c.$get(); obj.onOK = v; c.$set(obj); } };
1646 $t59_60 = $t58_59.$get();
1647 $t60_61 = ($t59_60 !== null);
1648 if ($t60_61) {
1649 $block = 24; break;
1650 }
1651 else {
1652 $block = 1; break;
1653 }
1654 break;
1655 }
1656 case 23: {
1657 $t61_62 = ($t53_54 + 1);
1658 $t62_63 = $rt.builtin.len($t3_4);
1659 $t63_64 = ($t61_62 < $t62_63);
1660 if ($t63_64) {
1661 $block = 21; break;
1662 }
1663 else {
1664 $t57_58 = '';
1665 $block = 22; break;
1666 }
1667 break;
1668 }
1669 case 24: {
1670 $t64_65 = { $get() { return c.$get().onOK; }, $set(v) { const obj = c.$get(); obj.onOK = v; c.$set(obj); } };
1671 $t65_66 = $t64_65.$get();
1672 $t66_67 = $t65_66($t2_3, $t52_53, $t57_58);
1673 $block = 1; break;
1674 break;
1675 }
1676 case 25: {
1677 $block = 1; break;
1678 break;
1679 }
1680 case 26: {
1681 $t67_68 = ($t1_2 === 'NOTICE');
1682 if ($t67_68) {
1683 $block = 25; break;
1684 }
1685 else {
1686 $block = 1; break;
1687 }
1688 break;
1689 }
1690 case 27: {
1691 $t68_69 = { $get() { return c.$get().onAuth; }, $set(v) { const obj = c.$get(); obj.onAuth = v; c.$set(obj); } };
1692 $t69_70 = $t68_69.$get();
1693 $t70_71 = $t69_70($t3_4);
1694 $block = 1; break;
1695 break;
1696 }
1697 }
1698 }
1699 }
1700
1701 $rt.types.getType('common/relay.Conn')?.methods?.set('handleMessage', Conn$handleMessage);
1702 export function Conn$maybeReconnect(c) {
1703 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
1704 let $block = 0;
1705 while (true) {
1706 switch ($block) {
1707 case 0: {
1708 $t0_1 = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
1709 $t0_1.$set(c);
1710 $t1_2 = $t0_1.$get();
1711 $t2_3 = { $get() { return $t1_2.$get().closing; }, $set(v) { const obj = $t1_2.$get(); obj.closing = v; $t1_2.$set(obj); } };
1712 $t3_4 = $t2_3.$get();
1713 if ($t3_4) {
1714 $block = 1; break;
1715 }
1716 else {
1717 $block = 4; break;
1718 }
1719 break;
1720 }
1721 case 1: {
1722 return;
1723 break;
1724 }
1725 case 2: {
1726 $t4_5 = $t0_1.$get();
1727 $t5_6 = { $get() { return $t4_5.$get().state; }, $set(v) { const obj = $t4_5.$get(); obj.state = v; $t4_5.$set(obj); } };
1728 $t5_6.$set(0);
1729 $t6_7 = $t0_1.$get();
1730 $t7_8 = { $get() { return $t6_7.$get().ScheduleReconnect; }, $set(v) { const obj = $t6_7.$get(); obj.ScheduleReconnect = v; $t6_7.$set(obj); } };
1731 $t8_9 = $t7_8.$get();
1732 $t9_10 = maybeReconnect$1.bind(null, $t0_1);
1733 $t10_11 = $t8_9($t9_10);
1734 return;
1735 break;
1736 }
1737 case 3: {
1738 $t11_12 = $t0_1.$get();
1739 $t12_13 = { $get() { return $t11_12.$get().ScheduleReconnect; }, $set(v) { const obj = $t11_12.$get(); obj.ScheduleReconnect = v; $t11_12.$set(obj); } };
1740 $t13_14 = $t12_13.$get();
1741 $t14_15 = ($t13_14 === null);
1742 if ($t14_15) {
1743 $block = 1; break;
1744 }
1745 else {
1746 $block = 2; break;
1747 }
1748 break;
1749 }
1750 case 4: {
1751 $t15_16 = $t0_1.$get();
1752 $t16_17 = { $get() { return $t15_16.$get().subs; }, $set(v) { const obj = $t15_16.$get(); obj.subs = v; $t15_16.$set(obj); } };
1753 $t17_18 = $t16_17.$get();
1754 $t18_19 = $rt.builtin.len($t17_18);
1755 $t19_20 = ($t18_19 === 0);
1756 if ($t19_20) {
1757 $block = 1; break;
1758 }
1759 else {
1760 $block = 3; break;
1761 }
1762 break;
1763 }
1764 }
1765 }
1766 }
1767
1768 function maybeReconnect$1(c) {
1769 let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
1770 let $block = 0;
1771 while (true) {
1772 switch ($block) {
1773 case 0: {
1774 $t0_1 = c.$get();
1775 $t1_2 = { $get() { return $t0_1.$get().closing; }, $set(v) { const obj = $t0_1.$get(); obj.closing = v; $t0_1.$set(obj); } };
1776 $t2_3 = $t1_2.$get();
1777 if ($t2_3) {
1778 $block = 1; break;
1779 }
1780 else {
1781 $block = 2; break;
1782 }
1783 break;
1784 }
1785 case 1: {
1786 return;
1787 break;
1788 }
1789 case 2: {
1790 $t3_4 = c.$get();
1791 $t4_5 = Conn$dial($t3_4);
1792 return;
1793 break;
1794 }
1795 }
1796 }
1797 }
1798
1799 $rt.types.getType('common/relay.Conn')?.methods?.set('maybeReconnect', Conn$maybeReconnect);
1800