init commit

This commit is contained in:
Carlos
2026-02-21 10:33:18 +01:00
parent c863a943ed
commit 9d955bf338
9512 changed files with 2015317 additions and 1305 deletions

View File

@@ -0,0 +1,13 @@
import type { Reader } from '../reader';
type ReturnType = {
reader: Reader;
contentLength: number | null;
needsContentRange: boolean;
};
export declare const getLengthAndReader: ({ canLiveWithoutContentLength, res, ownController, requestedWithoutRange, }: {
canLiveWithoutContentLength: boolean;
res: Response;
ownController: AbortController;
requestedWithoutRange: boolean;
}) => Promise<ReturnType>;
export {};

View File

@@ -0,0 +1,60 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getLengthAndReader = void 0;
const getLengthAndReader = async ({ canLiveWithoutContentLength, res, ownController, requestedWithoutRange, }) => {
const length = res.headers.get('content-length');
const contentLength = length === null ? null : parseInt(length, 10);
if (requestedWithoutRange ||
(canLiveWithoutContentLength && contentLength === null)) {
const buffer = await res.arrayBuffer();
const encoded = new Uint8Array(buffer);
let streamCancelled = false;
const stream = new ReadableStream({
start(controller) {
if (ownController.signal.aborted) {
return;
}
if (streamCancelled) {
return;
}
try {
controller.enqueue(encoded);
controller.close();
}
catch (_a) {
// sometimes on windows after aborting on node 16 : Invalid state: ReadableStreamDefaultController is not in a state where chunk can be enqueued
}
},
cancel() {
streamCancelled = true;
},
});
return {
contentLength: encoded.byteLength,
reader: {
reader: stream.getReader(),
abort: () => {
ownController.abort();
return Promise.resolve();
},
},
needsContentRange: false,
};
}
if (!res.body) {
throw new Error('No body');
}
const reader = res.body.getReader();
return {
reader: {
reader,
abort: () => {
ownController.abort();
return Promise.resolve();
},
},
contentLength,
needsContentRange: true,
};
};
exports.getLengthAndReader = getLengthAndReader;

View File

@@ -0,0 +1 @@
export declare const resolveUrl: (src: string | URL) => string | URL;

View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveUrl = void 0;
const resolveUrl = (src) => {
try {
const resolvedUrl = typeof window !== 'undefined' && typeof window.location !== 'undefined'
? new URL(src, window.location.origin)
: new URL(src);
return resolvedUrl;
}
catch (_a) {
return src;
}
};
exports.resolveUrl = resolveUrl;