@lat-murmeldjur/weeb_3 0.0.336001 → 0.0.337001

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.337001",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
package/service.js CHANGED
@@ -9,16 +9,15 @@ 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-default24";
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 / 2;
18
+ const HLS_STREAM_LOOKAHEAD_CHUNKS = 8;
19
+ const HLS_LIVE_STREAM_WINDOW_BYTES = 64 * 1024;
20
+ const HLS_LIVE_STREAM_LOOKAHEAD_CHUNKS = 32;
22
21
  const CLIENT_RUNTIME_PROBES = new Map();
23
22
  const CLIENT_RUNTIME_PROBE_TIMEOUT_MS = 1_500;
24
23
 
@@ -166,6 +165,17 @@ function canonicalFeedResource(url) {
166
165
  return null;
167
166
  }
168
167
 
168
+ function isHlsResource(url) {
169
+ if (canonicalFeedResource(url) !== null) {
170
+ return true;
171
+ }
172
+ return rawRouteMarkers().some(([marker, rawType]) =>
173
+ rawType === "hls-bytes" &&
174
+ url.pathname.startsWith(marker) &&
175
+ canonicalRawResource(url) !== null
176
+ );
177
+ }
178
+
169
179
  function isAppShellNavigation(request) {
170
180
  const headerDestination = request.headers.get("Sec-Fetch-Dest") || "";
171
181
  return request.method === "GET" &&
@@ -202,6 +212,12 @@ self.addEventListener("activate", (event) => {
202
212
  });
203
213
 
204
214
  self.addEventListener("message", (event) => {
215
+ if (
216
+ (event.data?.type === "WEEB3_CLAIM" || event.data?.type === "WEEB3_PING") &&
217
+ event.data?.protocol !== SERVICE_WORKER_PROTOCOL
218
+ ) {
219
+ return;
220
+ }
205
221
  if (event.data?.type === "WEEB3_CLAIM") {
206
222
  const port = event.ports?.[0];
207
223
  event.waitUntil((async () => {
@@ -209,7 +225,8 @@ self.addEventListener("message", (event) => {
209
225
  port?.postMessage({
210
226
  type: "WEEB3_CLAIMED",
211
227
  protocol: SERVICE_WORKER_PROTOCOL,
212
- scope: SCOPE_PATH
228
+ scope: SCOPE_PATH,
229
+ marker: SERVICE_WORKER_MARKER
213
230
  });
214
231
  })());
215
232
  return;
@@ -225,7 +242,8 @@ self.addEventListener("message", (event) => {
225
242
  port.postMessage({
226
243
  type: "WEEB3_PONG",
227
244
  protocol: SERVICE_WORKER_PROTOCOL,
228
- scope: SCOPE_PATH
245
+ scope: SCOPE_PATH,
246
+ marker: SERVICE_WORKER_MARKER
229
247
  });
230
248
  });
231
249
 
@@ -377,12 +395,7 @@ async function requestClients(event, requestUrl, requiredNetworkId) {
377
395
  const eventClientId = event.clientId || "";
378
396
  const eventClient = eventClientId ? await self.clients.get(eventClientId) : null;
379
397
  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
- );
398
+ const directHlsRequest = requestUrlObject !== null && isHlsResource(requestUrlObject);
386
399
 
387
400
  // Direct top-level HLS requests skip the redundant liveness probe.
388
401
  if (
@@ -499,39 +512,6 @@ function messageFirstClient(clients, message, timeoutMs = FETCH_TIMEOUT_MS) {
499
512
  return messageClient(clients[0], message, timeoutMs);
500
513
  }
501
514
 
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
515
  function requestRustFetch(
536
516
  clients,
537
517
  requestUrl,
@@ -541,32 +521,7 @@ function requestRustFetch(
541
521
  ifNoneMatch = "",
542
522
  ifRange = ""
543
523
  ) {
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, {
524
+ return messageFirstClient(clients, {
570
525
  type: "WEEB3_FETCH_REQUEST",
571
526
  url: requestUrl,
572
527
  method,
@@ -575,14 +530,6 @@ function requestRustFetch(
575
530
  ifNoneMatch,
576
531
  ifRange
577
532
  });
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
533
  }
587
534
 
588
535
  function toUint8Array(body) {
@@ -608,14 +555,13 @@ function responseHeaders(headerRows) {
608
555
  return headers;
609
556
  }
610
557
 
611
- function requestRustRange(clients, url, start, end, networkId, streamToken = "") {
558
+ function requestRustRange(clients, url, start, end, networkId) {
612
559
  return messageFirstClient(clients, {
613
560
  type: "WEEB3_FETCH_REQUEST",
614
561
  url,
615
562
  method: "GET",
616
563
  range: `bytes=${start}-${end}`,
617
- networkId,
618
- streamToken
564
+ networkId
619
565
  }).then((response) => {
620
566
  if (!response || !response.ok) {
621
567
  return response || { ok: false, status: 503, error: "empty weeb-3 range response" };
@@ -635,144 +581,54 @@ function requestRustRange(clients, url, start, end, networkId, streamToken = "")
635
581
  });
636
582
  }
637
583
 
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;
647
- }
648
-
649
- function createRustRangeStream(
650
- clients,
651
- url,
652
- size,
653
- networkId,
654
- stagedStart,
655
- streamToken = "",
656
- criticalPrefixWindows = null
657
- ) {
584
+ function createRustRangeStream(clients, url, size, networkId, windowBytes, lookahead) {
658
585
  let position = 0;
659
586
  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;
587
+ let admissionOpen = true;
667
588
  const scheduled = new Map();
668
- const activeRequests = new Map();
669
- const retainedResponses = new Map();
670
589
 
671
590
  const nextRangeBounds = () => {
672
- if (!schedulingAdmissionOpen || schedulePosition >= size) {
591
+ if (!admissionOpen || schedulePosition >= size) {
673
592
  return null;
674
593
  }
675
594
 
676
595
  const start = schedulePosition;
677
- const end = Math.min(start + STREAM_STORAGE_WINDOW_BYTES - 1, size - 1);
596
+ const end = Math.min(start + windowBytes - 1, size - 1);
678
597
  schedulePosition = end + 1;
679
598
  return { start, end };
680
599
  };
681
600
 
682
- const admitOrdinaryRange = () => {
601
+ const admitRange = () => {
683
602
  const range = nextRangeBounds();
684
603
  if (!range) {
685
604
  return null;
686
605
  }
687
606
  const { start, end } = range;
688
- const request = requestRustRange(clients, url, start, end, networkId, streamToken);
607
+ const request = requestRustRange(clients, url, start, end, networkId);
689
608
  scheduled.set(start, request);
690
609
  return { start, request };
691
610
  };
692
611
 
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
612
  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()) {
613
+ while (admissionOpen && schedulePosition < size && scheduled.size < lookahead) {
614
+ if (!admitRange()) {
753
615
  break;
754
616
  }
755
617
  }
756
618
  };
757
619
 
758
620
  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();
621
+ return Promise.allSettled(Array.from(scheduled.values())).then(() => {
765
622
  scheduled.clear();
766
623
  });
767
624
  };
768
625
 
769
626
  const closeAdmission = () => {
770
- schedulingAdmissionOpen = false;
771
- lookaheadAdmitted = false;
627
+ admissionOpen = false;
772
628
  };
773
629
 
774
630
  const failStream = async (controller, error) => {
775
- if (!schedulingAdmissionOpen) {
631
+ if (!admissionOpen) {
776
632
  return;
777
633
  }
778
634
  closeAdmission();
@@ -790,58 +646,24 @@ function createRustRangeStream(
790
646
  return;
791
647
  }
792
648
 
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) {
649
+ scheduleMore();
650
+ const start = Math.floor(position / windowBytes) * windowBytes;
651
+ let pending = scheduled.get(start);
652
+ if (!pending) {
653
+ const foreground = admitRange();
654
+ if (!foreground || foreground.start !== start) {
820
655
  await failStream(
821
656
  controller,
822
- result.error instanceof Error ? result.error : new Error(String(result.error))
657
+ new Error("weeb-3 foreground stream window was not admitted")
823
658
  );
824
659
  return;
825
660
  }
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);
661
+ pending = foreground.request;
842
662
  }
663
+ const response = await pending;
664
+ scheduled.delete(start);
843
665
 
844
- if (!schedulingAdmissionOpen) {
666
+ if (!admissionOpen) {
845
667
  return;
846
668
  }
847
669
  if (!response || !response.ok) {
@@ -855,10 +677,9 @@ function createRustRangeStream(
855
677
  const body = toUint8Array(response.body);
856
678
  position = start + body.byteLength;
857
679
  controller.enqueue(body);
858
- lookaheadAdmitted = true;
859
680
  scheduleMore();
860
681
  } catch (error) {
861
- if (schedulingAdmissionOpen) {
682
+ if (admissionOpen) {
862
683
  await failStream(controller, error);
863
684
  }
864
685
  }
@@ -878,14 +699,15 @@ async function forwardRequestToRust(request, event) {
878
699
  return new Response("weeb-3 route is outside the configured scope", { status: 400 });
879
700
  }
880
701
  const clients = await requestClients(event, request.url, networkId);
702
+ const hlsResource = isHlsResource(url);
881
703
  const response = await requestRustFetch(
882
704
  clients,
883
705
  request.url,
884
706
  request.method,
885
- request.headers.get("Range") || "",
707
+ hlsResource ? "" : request.headers.get("Range") || "",
886
708
  networkId,
887
709
  request.headers.get("If-None-Match") || "",
888
- request.headers.get("If-Range") || ""
710
+ hlsResource ? "" : request.headers.get("If-Range") || ""
889
711
  );
890
712
 
891
713
  const status = Number(response.status || (response.ok ? 200 : 404));
@@ -900,22 +722,23 @@ async function forwardRequestToRust(request, event) {
900
722
 
901
723
  if (response.stream && request.method !== "HEAD") {
902
724
  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;
725
+ if (!Number.isSafeInteger(size) || size <= 0) {
726
+ return new Response("weeb-3 stream response has an invalid length", { status: 502 });
727
+ }
728
+ const liveHlsResource = hlsResource && url.searchParams.get("start") === "live";
729
+ const windowBytes = liveHlsResource
730
+ ? HLS_LIVE_STREAM_WINDOW_BYTES
731
+ : hlsResource ? HLS_STREAM_WINDOW_BYTES : STREAM_STORAGE_WINDOW_BYTES;
732
+ const lookahead = liveHlsResource
733
+ ? HLS_LIVE_STREAM_LOOKAHEAD_CHUNKS
734
+ : hlsResource ? HLS_STREAM_LOOKAHEAD_CHUNKS : STREAM_LOOKAHEAD_CHUNKS;
911
735
  return new Response(createRustRangeStream(
912
736
  clients,
913
737
  request.url,
914
738
  size,
915
739
  networkId,
916
- stagedStart,
917
- streamToken,
918
- criticalPrefixWindows
740
+ windowBytes,
741
+ lookahead
919
742
  ), {
920
743
  status,
921
744
  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_531: (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_3371: (a: number, b: number, c: number) => void;
91
+ readonly __wasm_bindgen_func_elem_3297: (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);
@@ -576,6 +572,10 @@ function __wbg_get_imports() {
576
572
  __wbg_commit_a54edce65f3858f2: function() { return handleError(function (arg0) {
577
573
  getObject(arg0).commit();
578
574
  }, arguments); },
575
+ __wbg_config_deb21a1570effbf6: function(arg0) {
576
+ const ret = getObject(arg0).config;
577
+ return addHeapObject(ret);
578
+ },
579
579
  __wbg_confirm_0951f3942a645061: function() { return handleError(function (arg0, arg1, arg2) {
580
580
  const ret = getObject(arg0).confirm(getStringFromWasm0(arg1, arg2));
581
581
  return ret;
@@ -619,17 +619,9 @@ function __wbg_get_imports() {
619
619
  const ret = decodeURIComponent(getStringFromWasm0(arg0, arg1));
620
620
  return addHeapObject(ret);
621
621
  }, 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
622
  __wbg_destroy_91b983e1d85d5306: function() { return handleError(function (arg0) {
627
623
  getObject(arg0).destroy();
628
624
  }, 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
625
  __wbg_document_ee35a3d3ae34ef6c: function(arg0) {
634
626
  const ret = getObject(arg0).document;
635
627
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
@@ -673,13 +665,6 @@ function __wbg_get_imports() {
673
665
  wasm.__wbindgen_export4(deferred0_0, deferred0_1, 1);
674
666
  }
675
667
  },
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
668
  __wbg_fetch_afb6a4b6cacf876d: function(arg0, arg1) {
684
669
  const ret = getObject(arg0).fetch(getObject(arg1));
685
670
  return addHeapObject(ret);
@@ -710,13 +695,6 @@ function __wbg_get_imports() {
710
695
  const ret = getObject(arg0).getElementById(getStringFromWasm0(arg1, arg2));
711
696
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
712
697
  },
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
698
  __wbg_getRandomValues_a8ddca022803a145: function() { return handleError(function (arg0, arg1) {
721
699
  globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
722
700
  }, arguments); },
@@ -1057,10 +1035,6 @@ function __wbg_get_imports() {
1057
1035
  const ret = Number.isSafeInteger(getObject(arg0));
1058
1036
  return ret;
1059
1037
  },
1060
- __wbg_is_f29129f676e5410c: function(arg0, arg1) {
1061
- const ret = Object.is(getObject(arg0), getObject(arg1));
1062
- return ret;
1063
- },
1064
1038
  __wbg_item_c79c0bccbcfd8735: function(arg0, arg1) {
1065
1039
  const ret = getObject(arg0).item(arg1 >>> 0);
1066
1040
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
@@ -1095,10 +1069,6 @@ function __wbg_get_imports() {
1095
1069
  __wbg_load_fd01b3436024937e: function(arg0) {
1096
1070
  getObject(arg0).load();
1097
1071
  },
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
1072
  __wbg_location_df7ca06c93e51763: function(arg0) {
1103
1073
  const ret = getObject(arg0).location;
1104
1074
  return addHeapObject(ret);
@@ -1121,13 +1091,6 @@ function __wbg_get_imports() {
1121
1091
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1122
1092
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1123
1093
  },
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
1094
  __wbg_message_9ddc4b9a62a7c379: function(arg0) {
1132
1095
  const ret = getObject(arg0).message;
1133
1096
  return addHeapObject(ret);
@@ -1194,7 +1157,7 @@ function __wbg_get_imports() {
1194
1157
  const a = state0.a;
1195
1158
  state0.a = 0;
1196
1159
  try {
1197
- return __wasm_bindgen_func_elem_1763(a, state0.b, arg0, arg1);
1160
+ return __wasm_bindgen_func_elem_1388(a, state0.b, arg0, arg1);
1198
1161
  } finally {
1199
1162
  state0.a = a;
1200
1163
  }
@@ -1237,10 +1200,6 @@ function __wbg_get_imports() {
1237
1200
  const ret = new URL(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3));
1238
1201
  return addHeapObject(ret);
1239
1202
  }, 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
1203
  __wbg_new_with_length_a2c39cbe88fd8ff1: function(arg0) {
1245
1204
  const ret = new Uint8Array(arg0 >>> 0);
1246
1205
  return addHeapObject(ret);
@@ -1317,10 +1276,6 @@ function __wbg_get_imports() {
1317
1276
  const ret = getObject(arg0).parentNode;
1318
1277
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
1319
1278
  },
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
1279
  __wbg_pathname_b2267fae358b49a7: function() { return handleError(function (arg0, arg1) {
1325
1280
  const ret = getObject(arg1).pathname;
1326
1281
  const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
@@ -1411,6 +1366,10 @@ function __wbg_get_imports() {
1411
1366
  const ret = getObject(arg0).readyState;
1412
1367
  return ret;
1413
1368
  },
1369
+ __wbg_readyState_ce115112bd7cd7fd: function(arg0) {
1370
+ const ret = getObject(arg0).readyState;
1371
+ return ret;
1372
+ },
1414
1373
  __wbg_ready_7150dfa3536a3a07: function() { return handleError(function (arg0) {
1415
1374
  const ret = getObject(arg0).ready;
1416
1375
  return addHeapObject(ret);
@@ -1496,9 +1455,6 @@ function __wbg_get_imports() {
1496
1455
  const ret = getObject(arg0).setInterval(getObject(arg1), arg2, ...getObject(arg3));
1497
1456
  return ret;
1498
1457
  }, 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
1458
  __wbg_setTimeout_db2dbaeefb6f39c7: function() { return handleError(function (arg0, arg1) {
1503
1459
  const ret = setTimeout(getObject(arg0), arg1);
1504
1460
  return addHeapObject(ret);
@@ -1525,9 +1481,6 @@ function __wbg_get_imports() {
1525
1481
  __wbg_set_auto_increment_5ef604f4f193fa58: function(arg0, arg1) {
1526
1482
  getObject(arg0).autoIncrement = arg1 !== 0;
1527
1483
  },
1528
- __wbg_set_autoplay_a63d23ab32fd1826: function(arg0, arg1) {
1529
- getObject(arg0).autoplay = arg1 !== 0;
1530
- },
1531
1484
  __wbg_set_binaryType_5bbf62e9f705dc1a: function(arg0, arg1) {
1532
1485
  getObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];
1533
1486
  },
@@ -1549,9 +1502,6 @@ function __wbg_get_imports() {
1549
1502
  __wbg_set_defaultMuted_0914fbde28650af7: function(arg0, arg1) {
1550
1503
  getObject(arg0).defaultMuted = arg1 !== 0;
1551
1504
  },
1552
- __wbg_set_detail_fa3b358526be3a85: function(arg0, arg1) {
1553
- getObject(arg0).detail = getObject(arg1);
1554
- },
1555
1505
  __wbg_set_f43e577aea94465b: function(arg0, arg1, arg2) {
1556
1506
  getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
1557
1507
  },
@@ -1615,9 +1565,6 @@ function __wbg_get_imports() {
1615
1565
  __wbg_set_onupgradeneeded_c887b74722b6ce77: function(arg0, arg1) {
1616
1566
  getObject(arg0).onupgradeneeded = getObject(arg1);
1617
1567
  },
1618
- __wbg_set_preload_8046ead18b4d246a: function(arg0, arg1, arg2) {
1619
- getObject(arg0).preload = getStringFromWasm0(arg1, arg2);
1620
- },
1621
1568
  __wbg_set_scope_c18e6f8045aa3843: function(arg0, arg1, arg2) {
1622
1569
  getObject(arg0).scope = getStringFromWasm0(arg1, arg2);
1623
1570
  },
@@ -1658,9 +1605,6 @@ function __wbg_get_imports() {
1658
1605
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
1659
1606
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
1660
1607
  },
1661
- __wbg_startLoad_d877e6e759d0a5db: function() { return handleError(function (arg0) {
1662
- getObject(arg0).startLoad();
1663
- }, arguments); },
1664
1608
  __wbg_startLoad_fd7412d1aeb0bf78: function() { return handleError(function (arg0, arg1) {
1665
1609
  getObject(arg0).startLoad(arg1);
1666
1610
  }, arguments); },
@@ -1780,78 +1724,70 @@ function __wbg_get_imports() {
1780
1724
  const ret = getObject(arg0).waiting;
1781
1725
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
1782
1726
  },
1783
- __wbg_warn_675337722fd1fc03: function(arg0, arg1) {
1784
- console.warn(getObject(arg0), getObject(arg1));
1785
- },
1786
1727
  __wbg_warn_f7ae1b2e66ccb930: function(arg0) {
1787
1728
  console.warn(getObject(arg0));
1788
1729
  },
1789
1730
  __wbindgen_cast_0000000000000001: function(arg0, arg1) {
1790
1731
  // 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);
1732
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_1388);
1792
1733
  return addHeapObject(ret);
1793
1734
  },
1794
1735
  __wbindgen_cast_0000000000000002: function(arg0, arg1) {
1795
1736
  // 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);
1737
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_3371);
1797
1738
  return addHeapObject(ret);
1798
1739
  },
1799
1740
  __wbindgen_cast_0000000000000003: function(arg0, arg1) {
1800
1741
  // 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);
1742
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_3371);
1802
1743
  return addHeapObject(ret);
1803
1744
  },
1804
1745
  __wbindgen_cast_0000000000000004: function(arg0, arg1) {
1805
1746
  // 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);
1747
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_3371);
1807
1748
  return addHeapObject(ret);
1808
1749
  },
1809
1750
  __wbindgen_cast_0000000000000005: function(arg0, arg1) {
1810
1751
  // 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);
1752
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_1390);
1812
1753
  return addHeapObject(ret);
1813
1754
  },
1814
1755
  __wbindgen_cast_0000000000000006: function(arg0, arg1) {
1815
1756
  // 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);
1757
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_3371);
1817
1758
  return addHeapObject(ret);
1818
1759
  },
1819
1760
  __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);
1761
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 3, function: Function { arguments: [], shim_idx: 95, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
1762
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_531, __wasm_bindgen_func_elem_3297);
1822
1763
  return addHeapObject(ret);
1823
1764
  },
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);
1827
- return addHeapObject(ret);
1828
- },
1829
- __wbindgen_cast_0000000000000009: function(arg0) {
1765
+ __wbindgen_cast_0000000000000008: function(arg0) {
1830
1766
  // Cast intrinsic for `F64 -> Externref`.
1831
1767
  const ret = arg0;
1832
1768
  return addHeapObject(ret);
1833
1769
  },
1834
- __wbindgen_cast_000000000000000a: function(arg0) {
1770
+ __wbindgen_cast_0000000000000009: function(arg0) {
1835
1771
  // Cast intrinsic for `I64 -> Externref`.
1836
1772
  const ret = arg0;
1837
1773
  return addHeapObject(ret);
1838
1774
  },
1839
- __wbindgen_cast_000000000000000b: function(arg0, arg1) {
1775
+ __wbindgen_cast_000000000000000a: function(arg0, arg1) {
1840
1776
  // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
1841
1777
  const ret = getArrayU8FromWasm0(arg0, arg1);
1842
1778
  return addHeapObject(ret);
1843
1779
  },
1844
- __wbindgen_cast_000000000000000c: function(arg0, arg1) {
1780
+ __wbindgen_cast_000000000000000b: function(arg0, arg1) {
1845
1781
  // Cast intrinsic for `Ref(String) -> Externref`.
1846
1782
  const ret = getStringFromWasm0(arg0, arg1);
1847
1783
  return addHeapObject(ret);
1848
1784
  },
1849
- __wbindgen_cast_000000000000000d: function(arg0) {
1785
+ __wbindgen_cast_000000000000000c: function(arg0) {
1850
1786
  // Cast intrinsic for `U64 -> Externref`.
1851
1787
  const ret = BigInt.asUintN(64, arg0);
1852
1788
  return addHeapObject(ret);
1853
1789
  },
1854
- __wbindgen_cast_000000000000000e: function(arg0, arg1) {
1790
+ __wbindgen_cast_000000000000000d: function(arg0, arg1) {
1855
1791
  var v0 = getArrayU8FromWasm0(arg0, arg1).slice();
1856
1792
  wasm.__wbindgen_export4(arg0, arg1 * 1, 1);
1857
1793
  // Cast intrinsic for `Vector(U8) -> Externref`.
@@ -1876,27 +1812,22 @@ function __wbg_get_imports() {
1876
1812
  };
1877
1813
  }
1878
1814
 
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);
1815
+ function __wasm_bindgen_func_elem_3297(arg0, arg1) {
1816
+ wasm.__wasm_bindgen_func_elem_3297(arg0, arg1);
1886
1817
  }
1887
1818
 
1888
- function __wasm_bindgen_func_elem_4122(arg0, arg1, arg2) {
1889
- wasm.__wasm_bindgen_func_elem_4122(arg0, arg1, addHeapObject(arg2));
1819
+ function __wasm_bindgen_func_elem_3371(arg0, arg1, arg2) {
1820
+ wasm.__wasm_bindgen_func_elem_3371(arg0, arg1, addHeapObject(arg2));
1890
1821
  }
1891
1822
 
1892
- function __wasm_bindgen_func_elem_1763(arg0, arg1, arg2, arg3) {
1893
- wasm.__wasm_bindgen_func_elem_1763(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
1823
+ function __wasm_bindgen_func_elem_1388(arg0, arg1, arg2, arg3) {
1824
+ wasm.__wasm_bindgen_func_elem_1388(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
1894
1825
  }
1895
1826
 
1896
- function __wasm_bindgen_func_elem_1765(arg0, arg1, arg2) {
1827
+ function __wasm_bindgen_func_elem_1390(arg0, arg1, arg2) {
1897
1828
  try {
1898
1829
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1899
- wasm.__wasm_bindgen_func_elem_1765(retptr, arg0, arg1, addHeapObject(arg2));
1830
+ wasm.__wasm_bindgen_func_elem_1390(retptr, arg0, arg1, addHeapObject(arg2));
1900
1831
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1901
1832
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1902
1833
  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_531: (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_3371: (a: number, b: number, c: number) => void;
39
+ export const __wasm_bindgen_func_elem_3297: (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;