@lat-murmeldjur/weeb_3 0.0.336001 → 0.0.338001

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@lat-murmeldjur/weeb_3",
3
3
  "type": "module",
4
4
  "description": "A Swarm client for browsers",
5
- "version": "0.0.336001",
5
+ "version": "0.0.338001",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
package/service.js CHANGED
@@ -9,16 +9,17 @@ const RAW_ROUTE_KINDS = [
9
9
  ["chunks", "chunk"]
10
10
  ];
11
11
  const FETCH_TIMEOUT_MS = 240000;
12
- const SERVICE_WORKER_MARKER = "forwarder-default20";
13
- const SERVICE_WORKER_PROTOCOL = 8;
12
+ const SERVICE_WORKER_MARKER = "forwarder-default28";
13
+ const SERVICE_WORKER_PROTOCOL = 10;
14
14
  const MIB_BYTES = 1024 * 1024;
15
15
  const STREAM_STORAGE_WINDOW_BYTES = MIB_BYTES / 2;
16
16
  const STREAM_LOOKAHEAD_CHUNKS = 8;
17
- const HLS_STREAM_LOOKAHEAD_CHUNKS = 4;
18
- const HLS_STREAM_READY_ADMISSION_THRESHOLD = HLS_STREAM_LOOKAHEAD_CHUNKS - 1;
19
- const HLS_STREAM_MAX_OUTSTANDING =
20
- HLS_STREAM_LOOKAHEAD_CHUNKS + HLS_STREAM_READY_ADMISSION_THRESHOLD - 1;
21
- const HLS_REQUEST_FLIGHTS = new Map();
17
+ const HLS_STREAM_WINDOW_BYTES = MIB_BYTES;
18
+ const HLS_STREAM_INITIAL_LOOKAHEAD_CHUNKS = 2;
19
+ const HLS_STREAM_LOOKAHEAD_CHUNKS = 5;
20
+ const HLS_LIVE_STREAM_WINDOW_BYTES = MIB_BYTES;
21
+ const HLS_LIVE_STREAM_LOOKAHEAD_CHUNKS = 5;
22
+ const RANGE_REQUEST_FLIGHTS = new Map();
22
23
  const CLIENT_RUNTIME_PROBES = new Map();
23
24
  const CLIENT_RUNTIME_PROBE_TIMEOUT_MS = 1_500;
24
25
 
@@ -166,6 +167,17 @@ function canonicalFeedResource(url) {
166
167
  return null;
167
168
  }
168
169
 
170
+ function isHlsResource(url) {
171
+ if (canonicalFeedResource(url) !== null) {
172
+ return true;
173
+ }
174
+ return rawRouteMarkers().some(([marker, rawType]) =>
175
+ rawType === "hls-bytes" &&
176
+ url.pathname.startsWith(marker) &&
177
+ canonicalRawResource(url) !== null
178
+ );
179
+ }
180
+
169
181
  function isAppShellNavigation(request) {
170
182
  const headerDestination = request.headers.get("Sec-Fetch-Dest") || "";
171
183
  return request.method === "GET" &&
@@ -202,6 +214,12 @@ self.addEventListener("activate", (event) => {
202
214
  });
203
215
 
204
216
  self.addEventListener("message", (event) => {
217
+ if (
218
+ (event.data?.type === "WEEB3_CLAIM" || event.data?.type === "WEEB3_PING") &&
219
+ event.data?.protocol !== SERVICE_WORKER_PROTOCOL
220
+ ) {
221
+ return;
222
+ }
205
223
  if (event.data?.type === "WEEB3_CLAIM") {
206
224
  const port = event.ports?.[0];
207
225
  event.waitUntil((async () => {
@@ -209,7 +227,8 @@ self.addEventListener("message", (event) => {
209
227
  port?.postMessage({
210
228
  type: "WEEB3_CLAIMED",
211
229
  protocol: SERVICE_WORKER_PROTOCOL,
212
- scope: SCOPE_PATH
230
+ scope: SCOPE_PATH,
231
+ marker: SERVICE_WORKER_MARKER
213
232
  });
214
233
  })());
215
234
  return;
@@ -225,7 +244,8 @@ self.addEventListener("message", (event) => {
225
244
  port.postMessage({
226
245
  type: "WEEB3_PONG",
227
246
  protocol: SERVICE_WORKER_PROTOCOL,
228
- scope: SCOPE_PATH
247
+ scope: SCOPE_PATH,
248
+ marker: SERVICE_WORKER_MARKER
229
249
  });
230
250
  });
231
251
 
@@ -377,12 +397,7 @@ async function requestClients(event, requestUrl, requiredNetworkId) {
377
397
  const eventClientId = event.clientId || "";
378
398
  const eventClient = eventClientId ? await self.clients.get(eventClientId) : null;
379
399
  const requestUrlObject = requestUrl ? new URL(requestUrl) : null;
380
- const directHlsRequest = requestUrlObject !== null && (
381
- canonicalFeedResource(requestUrlObject) !== null ||
382
- rawRouteMarkers().some(([marker, rawType]) =>
383
- rawType === "hls-bytes" && requestUrlObject.pathname.startsWith(marker)
384
- )
385
- );
400
+ const directHlsRequest = requestUrlObject !== null && isHlsResource(requestUrlObject);
386
401
 
387
402
  // Direct top-level HLS requests skip the redundant liveness probe.
388
403
  if (
@@ -499,39 +514,6 @@ function messageFirstClient(clients, message, timeoutMs = FETCH_TIMEOUT_MS) {
499
514
  return messageClient(clients[0], message, timeoutMs);
500
515
  }
501
516
 
502
- function hlsRequestFlightKey(
503
- clients,
504
- requestUrl,
505
- method,
506
- range,
507
- ifNoneMatch,
508
- ifRange
509
- ) {
510
- if (!clients.length || !clients[0] || !clients[0].id) {
511
- return null;
512
- }
513
-
514
- const url = new URL(requestUrl);
515
- const hlsRoute = rawRouteMarkers().some(([marker, rawType]) =>
516
- rawType === "hls-bytes" && url.pathname.startsWith(marker)
517
- );
518
- const hlsAsset = hlsRoute && canonicalRawResource(url) !== null;
519
- const feedManifest = canonicalFeedResource(url) !== null;
520
- if (!hlsAsset && !feedManifest) {
521
- return null;
522
- }
523
-
524
- return [
525
- clients[0].id,
526
- method.toUpperCase(),
527
- url.pathname.toLowerCase(),
528
- url.search,
529
- range.trim().toLowerCase(),
530
- ifNoneMatch.trim(),
531
- ifRange.trim()
532
- ].join("|");
533
- }
534
-
535
517
  function requestRustFetch(
536
518
  clients,
537
519
  requestUrl,
@@ -541,32 +523,7 @@ function requestRustFetch(
541
523
  ifNoneMatch = "",
542
524
  ifRange = ""
543
525
  ) {
544
- const key = hlsRequestFlightKey(
545
- clients,
546
- requestUrl,
547
- method,
548
- range,
549
- ifNoneMatch,
550
- ifRange
551
- );
552
- if (!key) {
553
- return messageFirstClient(clients, {
554
- type: "WEEB3_FETCH_REQUEST",
555
- url: requestUrl,
556
- method,
557
- range,
558
- networkId,
559
- ifNoneMatch,
560
- ifRange
561
- });
562
- }
563
-
564
- const existing = HLS_REQUEST_FLIGHTS.get(key);
565
- if (existing) {
566
- return existing;
567
- }
568
-
569
- const pending = messageFirstClient(clients, {
526
+ return messageFirstClient(clients, {
570
527
  type: "WEEB3_FETCH_REQUEST",
571
528
  url: requestUrl,
572
529
  method,
@@ -575,14 +532,6 @@ function requestRustFetch(
575
532
  ifNoneMatch,
576
533
  ifRange
577
534
  });
578
- let tracked;
579
- tracked = pending.finally(() => {
580
- if (HLS_REQUEST_FLIGHTS.get(key) === tracked) {
581
- HLS_REQUEST_FLIGHTS.delete(key);
582
- }
583
- });
584
- HLS_REQUEST_FLIGHTS.set(key, tracked);
585
- return tracked;
586
535
  }
587
536
 
588
537
  function toUint8Array(body) {
@@ -608,14 +557,18 @@ function responseHeaders(headerRows) {
608
557
  return headers;
609
558
  }
610
559
 
611
- function requestRustRange(clients, url, start, end, networkId, streamToken = "") {
612
- return messageFirstClient(clients, {
560
+ function requestRustRange(clients, url, start, end, networkId) {
561
+ const key = `${clients[0]?.id || ""}|${networkId}|${url}|${start}|${end}`;
562
+ const existing = RANGE_REQUEST_FLIGHTS.get(key);
563
+ if (existing) {
564
+ return existing;
565
+ }
566
+ const request = messageFirstClient(clients, {
613
567
  type: "WEEB3_FETCH_REQUEST",
614
568
  url,
615
569
  method: "GET",
616
570
  range: `bytes=${start}-${end}`,
617
- networkId,
618
- streamToken
571
+ networkId
619
572
  }).then((response) => {
620
573
  if (!response || !response.ok) {
621
574
  return response || { ok: false, status: 503, error: "empty weeb-3 range response" };
@@ -633,17 +586,13 @@ function requestRustRange(clients, url, start, end, networkId, streamToken = "")
633
586
 
634
587
  return { ok: true, body };
635
588
  });
636
- }
637
-
638
- function parseCriticalPrefixWindows(value, size) {
639
- if (!/^[1-9][0-9]*$/.test(value || "") || !Number.isSafeInteger(size) || size <= 0) {
640
- return null;
641
- }
642
- const requested = Number(value);
643
- const total = Math.ceil(size / STREAM_STORAGE_WINDOW_BYTES);
644
- return Number.isSafeInteger(requested) && requested > 0
645
- ? Math.min(requested, total)
646
- : null;
589
+ RANGE_REQUEST_FLIGHTS.set(key, request);
590
+ request.finally(() => {
591
+ if (RANGE_REQUEST_FLIGHTS.get(key) === request) {
592
+ RANGE_REQUEST_FLIGHTS.delete(key);
593
+ }
594
+ }).catch(() => {});
595
+ return request;
647
596
  }
648
597
 
649
598
  function createRustRangeStream(
@@ -651,128 +600,58 @@ function createRustRangeStream(
651
600
  url,
652
601
  size,
653
602
  networkId,
654
- stagedStart,
655
- streamToken = "",
656
- criticalPrefixWindows = null
603
+ windowBytes,
604
+ initialLookahead,
605
+ lookahead
657
606
  ) {
658
607
  let position = 0;
659
608
  let schedulePosition = 0;
660
- const lookahead = stagedStart ? HLS_STREAM_LOOKAHEAD_CHUNKS : STREAM_LOOKAHEAD_CHUNKS;
661
- const managedPrefixEnd = stagedStart && Number.isSafeInteger(criticalPrefixWindows)
662
- ? Math.min(size, criticalPrefixWindows * STREAM_STORAGE_WINDOW_BYTES)
663
- : 0;
664
- let schedulingAdmissionOpen = true;
665
- let lookaheadAdmitted = !stagedStart;
666
- let knownRangeFailure = false;
609
+ let admissionOpen = true;
667
610
  const scheduled = new Map();
668
- const activeRequests = new Map();
669
- const retainedResponses = new Map();
670
611
 
671
612
  const nextRangeBounds = () => {
672
- if (!schedulingAdmissionOpen || schedulePosition >= size) {
613
+ if (!admissionOpen || schedulePosition >= size) {
673
614
  return null;
674
615
  }
675
616
 
676
617
  const start = schedulePosition;
677
- const end = Math.min(start + STREAM_STORAGE_WINDOW_BYTES - 1, size - 1);
618
+ const end = Math.min(start + windowBytes - 1, size - 1);
678
619
  schedulePosition = end + 1;
679
620
  return { start, end };
680
621
  };
681
622
 
682
- const admitOrdinaryRange = () => {
623
+ const admitRange = () => {
683
624
  const range = nextRangeBounds();
684
625
  if (!range) {
685
626
  return null;
686
627
  }
687
628
  const { start, end } = range;
688
- const request = requestRustRange(clients, url, start, end, networkId, streamToken);
629
+ const request = requestRustRange(clients, url, start, end, networkId);
689
630
  scheduled.set(start, request);
690
631
  return { start, request };
691
632
  };
692
633
 
693
- const admitStagedRange = () => {
694
- const range = nextRangeBounds();
695
- if (!range) {
696
- return null;
697
- }
698
- const { start, end } = range;
699
- const pending = requestRustRange(clients, url, start, end, networkId, streamToken);
700
- let request;
701
- request = pending.then(
702
- (response) => {
703
- activeRequests.delete(start);
704
- const result = { response };
705
- retainedResponses.set(start, result);
706
- if (!response || !response.ok) {
707
- knownRangeFailure = true;
708
- } else if (schedulingAdmissionOpen && position >= managedPrefixEnd) {
709
- scheduleMore();
710
- }
711
- return result;
712
- },
713
- (error) => {
714
- activeRequests.delete(start);
715
- const result = { error };
716
- retainedResponses.set(start, result);
717
- knownRangeFailure = true;
718
- return result;
719
- }
720
- );
721
- activeRequests.set(start, request);
722
- return { start, request };
723
- };
724
-
725
634
  const scheduleMore = () => {
726
- if (!schedulingAdmissionOpen || !lookaheadAdmitted || knownRangeFailure) {
727
- return;
728
- }
729
-
730
- if (!stagedStart) {
731
- while (schedulePosition < size && scheduled.size < lookahead) {
732
- if (!admitOrdinaryRange()) {
733
- break;
734
- }
735
- }
736
- return;
737
- }
738
-
739
- if (position < managedPrefixEnd) {
740
- if (activeRequests.size + retainedResponses.size < 1) {
741
- admitStagedRange();
742
- }
743
- return;
744
- }
745
-
746
- while (
747
- schedulePosition < size
748
- && activeRequests.size < HLS_STREAM_LOOKAHEAD_CHUNKS
749
- && retainedResponses.size < HLS_STREAM_READY_ADMISSION_THRESHOLD
750
- && activeRequests.size + retainedResponses.size < HLS_STREAM_MAX_OUTSTANDING
751
- ) {
752
- if (!admitStagedRange()) {
635
+ const limit = position < initialLookahead * windowBytes ? initialLookahead : lookahead;
636
+ while (admissionOpen && schedulePosition < size && scheduled.size < limit) {
637
+ if (!admitRange()) {
753
638
  break;
754
639
  }
755
640
  }
756
641
  };
757
642
 
758
643
  const drainScheduledRanges = () => {
759
- const dispatched = stagedStart
760
- ? Array.from(activeRequests.values())
761
- : Array.from(scheduled.values());
762
- return Promise.allSettled(dispatched).then(() => {
763
- activeRequests.clear();
764
- retainedResponses.clear();
644
+ return Promise.allSettled(Array.from(scheduled.values())).then(() => {
765
645
  scheduled.clear();
766
646
  });
767
647
  };
768
648
 
769
649
  const closeAdmission = () => {
770
- schedulingAdmissionOpen = false;
771
- lookaheadAdmitted = false;
650
+ admissionOpen = false;
772
651
  };
773
652
 
774
653
  const failStream = async (controller, error) => {
775
- if (!schedulingAdmissionOpen) {
654
+ if (!admissionOpen) {
776
655
  return;
777
656
  }
778
657
  closeAdmission();
@@ -790,58 +669,24 @@ function createRustRangeStream(
790
669
  return;
791
670
  }
792
671
 
793
- if (lookaheadAdmitted) {
794
- scheduleMore();
795
- }
796
- const start = Math.floor(position / STREAM_STORAGE_WINDOW_BYTES) * STREAM_STORAGE_WINDOW_BYTES;
797
- let response;
798
- if (stagedStart) {
799
- let result = retainedResponses.get(start);
800
- if (!result) {
801
- let request = activeRequests.get(start);
802
- if (!request) {
803
- const foreground = admitStagedRange();
804
- if (!foreground || foreground.start !== start) {
805
- await failStream(
806
- controller,
807
- new Error("weeb-3 foreground stream window was not admitted")
808
- );
809
- return;
810
- }
811
- request = foreground.request;
812
- }
813
- result = await request;
814
- }
815
- retainedResponses.delete(start);
816
- if (!schedulingAdmissionOpen) {
817
- return;
818
- }
819
- if (result.error) {
672
+ scheduleMore();
673
+ const start = Math.floor(position / windowBytes) * windowBytes;
674
+ let pending = scheduled.get(start);
675
+ if (!pending) {
676
+ const foreground = admitRange();
677
+ if (!foreground || foreground.start !== start) {
820
678
  await failStream(
821
679
  controller,
822
- result.error instanceof Error ? result.error : new Error(String(result.error))
680
+ new Error("weeb-3 foreground stream window was not admitted")
823
681
  );
824
682
  return;
825
683
  }
826
- response = result.response;
827
- } else {
828
- let request = scheduled.get(start);
829
- if (!request) {
830
- const foreground = admitOrdinaryRange();
831
- if (!foreground || foreground.start !== start) {
832
- await failStream(
833
- controller,
834
- new Error("weeb-3 foreground stream window was not admitted")
835
- );
836
- return;
837
- }
838
- request = foreground.request;
839
- }
840
- response = await request;
841
- scheduled.delete(start);
684
+ pending = foreground.request;
842
685
  }
686
+ const response = await pending;
687
+ scheduled.delete(start);
843
688
 
844
- if (!schedulingAdmissionOpen) {
689
+ if (!admissionOpen) {
845
690
  return;
846
691
  }
847
692
  if (!response || !response.ok) {
@@ -855,10 +700,9 @@ function createRustRangeStream(
855
700
  const body = toUint8Array(response.body);
856
701
  position = start + body.byteLength;
857
702
  controller.enqueue(body);
858
- lookaheadAdmitted = true;
859
703
  scheduleMore();
860
704
  } catch (error) {
861
- if (schedulingAdmissionOpen) {
705
+ if (admissionOpen) {
862
706
  await failStream(controller, error);
863
707
  }
864
708
  }
@@ -878,14 +722,15 @@ async function forwardRequestToRust(request, event) {
878
722
  return new Response("weeb-3 route is outside the configured scope", { status: 400 });
879
723
  }
880
724
  const clients = await requestClients(event, request.url, networkId);
725
+ const hlsResource = isHlsResource(url);
881
726
  const response = await requestRustFetch(
882
727
  clients,
883
728
  request.url,
884
729
  request.method,
885
- request.headers.get("Range") || "",
730
+ hlsResource ? "" : request.headers.get("Range") || "",
886
731
  networkId,
887
732
  request.headers.get("If-None-Match") || "",
888
- request.headers.get("If-Range") || ""
733
+ hlsResource ? "" : request.headers.get("If-Range") || ""
889
734
  );
890
735
 
891
736
  const status = Number(response.status || (response.ok ? 200 : 404));
@@ -900,22 +745,28 @@ async function forwardRequestToRust(request, event) {
900
745
 
901
746
  if (response.stream && request.method !== "HEAD") {
902
747
  const size = Number(headers.get("Content-Length") || "0");
903
- const stagedStart = headers.get("X-Weeb3-Stream-Start") === "1";
904
- const streamToken = headers.get("X-Weeb3-Stream-Token") || "";
905
- const criticalPrefixWindows = stagedStart
906
- ? parseCriticalPrefixWindows(
907
- headers.get("X-Weeb3-HLS-Critical-Prefix-Windows"),
908
- size
909
- )
910
- : null;
748
+ if (!Number.isSafeInteger(size) || size <= 0) {
749
+ return new Response("weeb-3 stream response has an invalid length", { status: 502 });
750
+ }
751
+ const liveHlsResource = hlsResource && url.searchParams.get("start") === "live";
752
+ const startupHlsResource = hlsResource && url.searchParams.get("startup") === "1";
753
+ const windowBytes = liveHlsResource
754
+ ? HLS_LIVE_STREAM_WINDOW_BYTES
755
+ : hlsResource ? HLS_STREAM_WINDOW_BYTES : STREAM_STORAGE_WINDOW_BYTES;
756
+ const lookahead = liveHlsResource
757
+ ? HLS_LIVE_STREAM_LOOKAHEAD_CHUNKS
758
+ : hlsResource ? HLS_STREAM_LOOKAHEAD_CHUNKS : STREAM_LOOKAHEAD_CHUNKS;
759
+ const initialLookahead = startupHlsResource
760
+ ? HLS_STREAM_INITIAL_LOOKAHEAD_CHUNKS
761
+ : lookahead;
911
762
  return new Response(createRustRangeStream(
912
763
  clients,
913
764
  request.url,
914
765
  size,
915
766
  networkId,
916
- stagedStart,
917
- streamToken,
918
- criticalPrefixWindows
767
+ windowBytes,
768
+ initialLookahead,
769
+ lookahead
919
770
  ), {
920
771
  status,
921
772
  headers
package/weeb_3.d.ts CHANGED
@@ -84,12 +84,11 @@ export interface InitOutput {
84
84
  readonly __wbg_requestarguments_free: (a: number, b: number) => void;
85
85
  readonly requestarguments_method: (a: number, b: number) => void;
86
86
  readonly requestarguments_params: (a: number) => number;
87
- readonly __wasm_bindgen_func_elem_655: (a: number, b: number) => void;
88
- readonly __wasm_bindgen_func_elem_1763: (a: number, b: number, c: number, d: number) => void;
89
- readonly __wasm_bindgen_func_elem_1765: (a: number, b: number, c: number, d: number) => void;
90
- readonly __wasm_bindgen_func_elem_4122: (a: number, b: number, c: number) => void;
91
- readonly __wasm_bindgen_func_elem_1768: (a: number, b: number) => number;
92
- readonly __wasm_bindgen_func_elem_4048: (a: number, b: number) => void;
87
+ readonly __wasm_bindgen_func_elem_526: (a: number, b: number) => void;
88
+ readonly __wasm_bindgen_func_elem_1388: (a: number, b: number, c: number, d: number) => void;
89
+ readonly __wasm_bindgen_func_elem_1390: (a: number, b: number, c: number, d: number) => void;
90
+ readonly __wasm_bindgen_func_elem_3379: (a: number, b: number, c: number) => void;
91
+ readonly __wasm_bindgen_func_elem_3305: (a: number, b: number) => void;
93
92
  readonly __wbindgen_export: (a: number, b: number) => number;
94
93
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
95
94
  readonly __wbindgen_export3: (a: number) => void;
package/weeb_3.js CHANGED
@@ -507,10 +507,6 @@ function __wbg_get_imports() {
507
507
  __wbg_attachMedia_82d779df2fa8e98f: function() { return handleError(function (arg0, arg1) {
508
508
  getObject(arg0).attachMedia(getObject(arg1));
509
509
  }, arguments); },
510
- __wbg_autoplay_f8612a2035bfaa92: function(arg0) {
511
- const ret = getObject(arg0).autoplay;
512
- return ret;
513
- },
514
510
  __wbg_body_f67922363a220026: function(arg0) {
515
511
  const ret = getObject(arg0).body;
516
512
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
@@ -619,17 +615,9 @@ function __wbg_get_imports() {
619
615
  const ret = decodeURIComponent(getStringFromWasm0(arg0, arg1));
620
616
  return addHeapObject(ret);
621
617
  }, arguments); },
622
- __wbg_deleteProperty_8c8a05da881fea59: function() { return handleError(function (arg0, arg1) {
623
- const ret = Reflect.deleteProperty(getObject(arg0), getObject(arg1));
624
- return ret;
625
- }, arguments); },
626
618
  __wbg_destroy_91b983e1d85d5306: function() { return handleError(function (arg0) {
627
619
  getObject(arg0).destroy();
628
620
  }, arguments); },
629
- __wbg_dispatchEvent_dc8dcc7ddca11378: function() { return handleError(function (arg0, arg1) {
630
- const ret = getObject(arg0).dispatchEvent(getObject(arg1));
631
- return ret;
632
- }, arguments); },
633
621
  __wbg_document_ee35a3d3ae34ef6c: function(arg0) {
634
622
  const ret = getObject(arg0).document;
635
623
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
@@ -673,13 +661,6 @@ function __wbg_get_imports() {
673
661
  wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);
674
662
  }
675
663
  },
676
- __wbg_error_92029508b8bd6459: function(arg0) {
677
- const ret = getObject(arg0).error;
678
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
679
- },
680
- __wbg_error_f852e41c69b0bd84: function(arg0, arg1) {
681
- console.error(getObject(arg0), getObject(arg1));
682
- },
683
664
  __wbg_fetch_afb6a4b6cacf876d: function(arg0, arg1) {
684
665
  const ret = getObject(arg0).fetch(getObject(arg1));
685
666
  return addHeapObject(ret);
@@ -710,13 +691,6 @@ function __wbg_get_imports() {
710
691
  const ret = getObject(arg0).getElementById(getStringFromWasm0(arg1, arg2));
711
692
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
712
693
  },
713
- __wbg_getItem_0c792d344808dcf5: function() { return handleError(function (arg0, arg1, arg2, arg3) {
714
- const ret = getObject(arg1).getItem(getStringFromWasm0(arg2, arg3));
715
- var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
716
- var len1 = WASM_VECTOR_LEN;
717
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
718
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
719
- }, arguments); },
720
694
  __wbg_getRandomValues_a8ddca022803a145: function() { return handleError(function (arg0, arg1) {
721
695
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
722
696
  }, arguments); },
@@ -1057,10 +1031,6 @@ function __wbg_get_imports() {
1057
1031
  const ret = Number.isSafeInteger(getObject(arg0));
1058
1032
  return ret;
1059
1033
  },
1060
- __wbg_is_f29129f676e5410c: function(arg0, arg1) {
1061
- const ret = Object.is(getObject(arg0), getObject(arg1));
1062
- return ret;
1063
- },
1064
1034
  __wbg_item_c79c0bccbcfd8735: function(arg0, arg1) {
1065
1035
  const ret = getObject(arg0).item(arg1 >>> 0);
1066
1036
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
@@ -1095,10 +1065,6 @@ function __wbg_get_imports() {
1095
1065
  __wbg_load_fd01b3436024937e: function(arg0) {
1096
1066
  getObject(arg0).load();
1097
1067
  },
1098
- __wbg_localStorage_a22d31b9eacc4594: function() { return handleError(function (arg0) {
1099
- const ret = getObject(arg0).localStorage;
1100
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
1101
- }, arguments); },
1102
1068
  __wbg_location_df7ca06c93e51763: function(arg0) {
1103
1069
  const ret = getObject(arg0).location;
1104
1070
  return addHeapObject(ret);
@@ -1121,13 +1087,6 @@ function __wbg_get_imports() {
1121
1087
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1122
1088
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1123
1089
  },
1124
- __wbg_message_93b760d80b5095a7: function(arg0, arg1) {
1125
- const ret = getObject(arg1).message;
1126
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
1127
- const len1 = WASM_VECTOR_LEN;
1128
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1129
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1130
- },
1131
1090
  __wbg_message_9ddc4b9a62a7c379: function(arg0) {
1132
1091
  const ret = getObject(arg0).message;
1133
1092
  return addHeapObject(ret);
@@ -1194,7 +1153,7 @@ function __wbg_get_imports() {
1194
1153
  const a = state0.a;
1195
1154
  state0.a = 0;
1196
1155
  try {
1197
- return __wasm_bindgen_func_elem_1763(a, state0.b, arg0, arg1);
1156
+ return __wasm_bindgen_func_elem_1388(a, state0.b, arg0, arg1);
1198
1157
  } finally {
1199
1158
  state0.a = a;
1200
1159
  }
@@ -1237,10 +1196,6 @@ function __wbg_get_imports() {
1237
1196
  const ret = new URL(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
1238
1197
  return addHeapObject(ret);
1239
1198
  }, arguments); },
1240
- __wbg_new_with_event_init_dict_48877e7ca125f3c1: function() { return handleError(function (arg0, arg1, arg2) {
1241
- const ret = new CustomEvent(getStringFromWasm0(arg0, arg1), getObject(arg2));
1242
- return addHeapObject(ret);
1243
- }, arguments); },
1244
1199
  __wbg_new_with_length_a2c39cbe88fd8ff1: function(arg0) {
1245
1200
  const ret = new Uint8Array(arg0 >>> 0);
1246
1201
  return addHeapObject(ret);
@@ -1317,10 +1272,6 @@ function __wbg_get_imports() {
1317
1272
  const ret = getObject(arg0).parentNode;
1318
1273
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
1319
1274
  },
1320
- __wbg_parse_708461a1feddfb38: function() { return handleError(function (arg0, arg1) {
1321
- const ret = JSON.parse(getStringFromWasm0(arg0, arg1));
1322
- return addHeapObject(ret);
1323
- }, arguments); },
1324
1275
  __wbg_pathname_b2267fae358b49a7: function() { return handleError(function (arg0, arg1) {
1325
1276
  const ret = getObject(arg1).pathname;
1326
1277
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
@@ -1411,6 +1362,10 @@ function __wbg_get_imports() {
1411
1362
  const ret = getObject(arg0).readyState;
1412
1363
  return ret;
1413
1364
  },
1365
+ __wbg_readyState_ce115112bd7cd7fd: function(arg0) {
1366
+ const ret = getObject(arg0).readyState;
1367
+ return ret;
1368
+ },
1414
1369
  __wbg_ready_7150dfa3536a3a07: function() { return handleError(function (arg0) {
1415
1370
  const ret = getObject(arg0).ready;
1416
1371
  return addHeapObject(ret);
@@ -1496,9 +1451,6 @@ function __wbg_get_imports() {
1496
1451
  const ret = getObject(arg0).setInterval(getObject(arg1), arg2, ...getObject(arg3));
1497
1452
  return ret;
1498
1453
  }, arguments); },
1499
- __wbg_setItem_cf340bb2edbd3089: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
1500
- getObject(arg0).setItem(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
1501
- }, arguments); },
1502
1454
  __wbg_setTimeout_db2dbaeefb6f39c7: function() { return handleError(function (arg0, arg1) {
1503
1455
  const ret = setTimeout(getObject(arg0), arg1);
1504
1456
  return addHeapObject(ret);
@@ -1525,9 +1477,6 @@ function __wbg_get_imports() {
1525
1477
  __wbg_set_auto_increment_5ef604f4f193fa58: function(arg0, arg1) {
1526
1478
  getObject(arg0).autoIncrement = arg1 !== 0;
1527
1479
  },
1528
- __wbg_set_autoplay_a63d23ab32fd1826: function(arg0, arg1) {
1529
- getObject(arg0).autoplay = arg1 !== 0;
1530
- },
1531
1480
  __wbg_set_binaryType_5bbf62e9f705dc1a: function(arg0, arg1) {
1532
1481
  getObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];
1533
1482
  },
@@ -1549,9 +1498,6 @@ function __wbg_get_imports() {
1549
1498
  __wbg_set_defaultMuted_0914fbde28650af7: function(arg0, arg1) {
1550
1499
  getObject(arg0).defaultMuted = arg1 !== 0;
1551
1500
  },
1552
- __wbg_set_detail_fa3b358526be3a85: function(arg0, arg1) {
1553
- getObject(arg0).detail = getObject(arg1);
1554
- },
1555
1501
  __wbg_set_f43e577aea94465b: function(arg0, arg1, arg2) {
1556
1502
  getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
1557
1503
  },
@@ -1615,9 +1561,6 @@ function __wbg_get_imports() {
1615
1561
  __wbg_set_onupgradeneeded_c887b74722b6ce77: function(arg0, arg1) {
1616
1562
  getObject(arg0).onupgradeneeded = getObject(arg1);
1617
1563
  },
1618
- __wbg_set_preload_8046ead18b4d246a: function(arg0, arg1, arg2) {
1619
- getObject(arg0).preload = getStringFromWasm0(arg1, arg2);
1620
- },
1621
1564
  __wbg_set_scope_c18e6f8045aa3843: function(arg0, arg1, arg2) {
1622
1565
  getObject(arg0).scope = getStringFromWasm0(arg1, arg2);
1623
1566
  },
@@ -1658,9 +1601,6 @@ function __wbg_get_imports() {
1658
1601
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1659
1602
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1660
1603
  },
1661
- __wbg_startLoad_d877e6e759d0a5db: function() { return handleError(function (arg0) {
1662
- getObject(arg0).startLoad();
1663
- }, arguments); },
1664
1604
  __wbg_startLoad_fd7412d1aeb0bf78: function() { return handleError(function (arg0, arg1) {
1665
1605
  getObject(arg0).startLoad(arg1);
1666
1606
  }, arguments); },
@@ -1780,78 +1720,70 @@ function __wbg_get_imports() {
1780
1720
  const ret = getObject(arg0).waiting;
1781
1721
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
1782
1722
  },
1783
- __wbg_warn_675337722fd1fc03: function(arg0, arg1) {
1784
- console.warn(getObject(arg0), getObject(arg1));
1785
- },
1786
1723
  __wbg_warn_f7ae1b2e66ccb930: function(arg0) {
1787
1724
  console.warn(getObject(arg0));
1788
1725
  },
1789
1726
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1790
1727
  // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [Externref, Externref], shim_idx: 21, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1791
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_1763);
1728
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_1388);
1792
1729
  return addHeapObject(ret);
1793
1730
  },
1794
1731
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
1795
1732
  // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [Externref], shim_idx: 4, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1796
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_4122);
1733
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_3379);
1797
1734
  return addHeapObject(ret);
1798
1735
  },
1799
1736
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1800
1737
  // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [NamedExternref("CloseEvent")], shim_idx: 4, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1801
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_4122);
1738
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_3379);
1802
1739
  return addHeapObject(ret);
1803
1740
  },
1804
1741
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
1805
1742
  // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [NamedExternref("Event")], shim_idx: 4, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1806
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_4122);
1743
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_3379);
1807
1744
  return addHeapObject(ret);
1808
1745
  },
1809
1746
  __wbindgen_cast_0000000000000005: function(arg0, arg1) {
1810
1747
  // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 23, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
1811
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_1765);
1748
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_1390);
1812
1749
  return addHeapObject(ret);
1813
1750
  },
1814
1751
  __wbindgen_cast_0000000000000006: function(arg0, arg1) {
1815
1752
  // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 4, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1816
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_4122);
1753
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_3379);
1817
1754
  return addHeapObject(ret);
1818
1755
  },
1819
1756
  __wbindgen_cast_0000000000000007: function(arg0, arg1) {
1820
- // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [], shim_idx: 101, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1821
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_4048);
1822
- return addHeapObject(ret);
1823
- },
1824
- __wbindgen_cast_0000000000000008: function(arg0, arg1) {
1825
- // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [], shim_idx: 25, ret: Externref, inner_ret: Some(Externref) }, mutable: true }) -> Externref`.
1826
- const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_655, __wasm_bindgen_func_elem_1768);
1757
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [], shim_idx: 95, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1758
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_526, __wasm_bindgen_func_elem_3305);
1827
1759
  return addHeapObject(ret);
1828
1760
  },
1829
- __wbindgen_cast_0000000000000009: function(arg0) {
1761
+ __wbindgen_cast_0000000000000008: function(arg0) {
1830
1762
  // Cast intrinsic for `F64 -> Externref`.
1831
1763
  const ret = arg0;
1832
1764
  return addHeapObject(ret);
1833
1765
  },
1834
- __wbindgen_cast_000000000000000a: function(arg0) {
1766
+ __wbindgen_cast_0000000000000009: function(arg0) {
1835
1767
  // Cast intrinsic for `I64 -> Externref`.
1836
1768
  const ret = arg0;
1837
1769
  return addHeapObject(ret);
1838
1770
  },
1839
- __wbindgen_cast_000000000000000b: function(arg0, arg1) {
1771
+ __wbindgen_cast_000000000000000a: function(arg0, arg1) {
1840
1772
  // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
1841
1773
  const ret = getArrayU8FromWasm0(arg0, arg1);
1842
1774
  return addHeapObject(ret);
1843
1775
  },
1844
- __wbindgen_cast_000000000000000c: function(arg0, arg1) {
1776
+ __wbindgen_cast_000000000000000b: function(arg0, arg1) {
1845
1777
  // Cast intrinsic for `Ref(String) -> Externref`.
1846
1778
  const ret = getStringFromWasm0(arg0, arg1);
1847
1779
  return addHeapObject(ret);
1848
1780
  },
1849
- __wbindgen_cast_000000000000000d: function(arg0) {
1781
+ __wbindgen_cast_000000000000000c: function(arg0) {
1850
1782
  // Cast intrinsic for `U64 -> Externref`.
1851
1783
  const ret = BigInt.asUintN(64, arg0);
1852
1784
  return addHeapObject(ret);
1853
1785
  },
1854
- __wbindgen_cast_000000000000000e: function(arg0, arg1) {
1786
+ __wbindgen_cast_000000000000000d: function(arg0, arg1) {
1855
1787
  var v0 = getArrayU8FromWasm0(arg0, arg1).slice();
1856
1788
  wasm.__wbindgen_export4(arg0, arg1 * 1, 1);
1857
1789
  // Cast intrinsic for `Vector(U8) -> Externref`.
@@ -1876,27 +1808,22 @@ function __wbg_get_imports() {
1876
1808
  };
1877
1809
  }
1878
1810
 
1879
- function __wasm_bindgen_func_elem_4048(arg0, arg1) {
1880
- wasm.__wasm_bindgen_func_elem_4048(arg0, arg1);
1881
- }
1882
-
1883
- function __wasm_bindgen_func_elem_1768(arg0, arg1) {
1884
- const ret = wasm.__wasm_bindgen_func_elem_1768(arg0, arg1);
1885
- return takeObject(ret);
1811
+ function __wasm_bindgen_func_elem_3305(arg0, arg1) {
1812
+ wasm.__wasm_bindgen_func_elem_3305(arg0, arg1);
1886
1813
  }
1887
1814
 
1888
- function __wasm_bindgen_func_elem_4122(arg0, arg1, arg2) {
1889
- wasm.__wasm_bindgen_func_elem_4122(arg0, arg1, addHeapObject(arg2));
1815
+ function __wasm_bindgen_func_elem_3379(arg0, arg1, arg2) {
1816
+ wasm.__wasm_bindgen_func_elem_3379(arg0, arg1, addHeapObject(arg2));
1890
1817
  }
1891
1818
 
1892
- function __wasm_bindgen_func_elem_1763(arg0, arg1, arg2, arg3) {
1893
- wasm.__wasm_bindgen_func_elem_1763(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
1819
+ function __wasm_bindgen_func_elem_1388(arg0, arg1, arg2, arg3) {
1820
+ wasm.__wasm_bindgen_func_elem_1388(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
1894
1821
  }
1895
1822
 
1896
- function __wasm_bindgen_func_elem_1765(arg0, arg1, arg2) {
1823
+ function __wasm_bindgen_func_elem_1390(arg0, arg1, arg2) {
1897
1824
  try {
1898
1825
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1899
- wasm.__wasm_bindgen_func_elem_1765(retptr, arg0, arg1, addHeapObject(arg2));
1826
+ wasm.__wasm_bindgen_func_elem_1390(retptr, arg0, arg1, addHeapObject(arg2));
1900
1827
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1901
1828
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1902
1829
  if (r1) {
package/weeb_3_bg.wasm CHANGED
Binary file
@@ -32,12 +32,11 @@ export const weeb3no103_uploadWithRedundancy: (a: number, b: number, c: number,
32
32
  export const __wbg_requestarguments_free: (a: number, b: number) => void;
33
33
  export const requestarguments_method: (a: number, b: number) => void;
34
34
  export const requestarguments_params: (a: number) => number;
35
- export const __wasm_bindgen_func_elem_655: (a: number, b: number) => void;
36
- export const __wasm_bindgen_func_elem_1763: (a: number, b: number, c: number, d: number) => void;
37
- export const __wasm_bindgen_func_elem_1765: (a: number, b: number, c: number, d: number) => void;
38
- export const __wasm_bindgen_func_elem_4122: (a: number, b: number, c: number) => void;
39
- export const __wasm_bindgen_func_elem_1768: (a: number, b: number) => number;
40
- export const __wasm_bindgen_func_elem_4048: (a: number, b: number) => void;
35
+ export const __wasm_bindgen_func_elem_526: (a: number, b: number) => void;
36
+ export const __wasm_bindgen_func_elem_1388: (a: number, b: number, c: number, d: number) => void;
37
+ export const __wasm_bindgen_func_elem_1390: (a: number, b: number, c: number, d: number) => void;
38
+ export const __wasm_bindgen_func_elem_3379: (a: number, b: number, c: number) => void;
39
+ export const __wasm_bindgen_func_elem_3305: (a: number, b: number) => void;
41
40
  export const __wbindgen_export: (a: number, b: number) => number;
42
41
  export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
43
42
  export const __wbindgen_export3: (a: number) => void;