176 lines
4.8 KiB
JavaScript
176 lines
4.8 KiB
JavaScript
/*
|
|
* Extracted from browser-delivered Turbopack chunk: 024a3642cfddfa89.95b9211528.js
|
|
* Module id: 136030
|
|
* For reading/searching only; this factory depends on the original Turbopack runtime.
|
|
*/
|
|
|
|
const moduleFactory = (e) => {
|
|
"use strict";
|
|
var t = e.i(182004);
|
|
let r = Symbol("cancelled"),
|
|
s = new (class {
|
|
maxConcurrency;
|
|
running;
|
|
queue;
|
|
constructor(e) {
|
|
(this.maxConcurrency = e), (this.running = 0), (this.queue = []);
|
|
}
|
|
add(e) {
|
|
return new Promise((t, r) => {
|
|
this.queue.push({ task: e, resolve: t, reject: r }), this.flush();
|
|
});
|
|
}
|
|
remove(e) {
|
|
let t = this.queue.findIndex((t) => t.task === e);
|
|
if (-1 === t) return !1;
|
|
let [s] = this.queue.splice(t, 1);
|
|
return s.reject(r), !0;
|
|
}
|
|
clear() {
|
|
for (let e of this.queue.splice(0)) e.reject(r);
|
|
}
|
|
flush() {
|
|
for (
|
|
;
|
|
this.running < this.maxConcurrency && this.queue.length > 0;
|
|
|
|
) {
|
|
let e = this.queue.shift();
|
|
if (!e) break;
|
|
this.running++,
|
|
e
|
|
.task()
|
|
.then(e.resolve)
|
|
.catch(e.reject)
|
|
.finally(() => {
|
|
this.running--, this.flush();
|
|
});
|
|
}
|
|
}
|
|
})(10);
|
|
function i(e, t) {
|
|
return new Promise((r) => {
|
|
let s = setTimeout(() => r(void 0), t);
|
|
e.then((e) => {
|
|
clearTimeout(s), r(e);
|
|
}).catch(() => {
|
|
clearTimeout(s), r(void 0);
|
|
});
|
|
});
|
|
}
|
|
async function n(e) {
|
|
return (
|
|
(await i(
|
|
s.add(
|
|
() =>
|
|
new Promise((t, r) => {
|
|
let s = new Image();
|
|
(s.onload = () => {
|
|
t({
|
|
width: s.naturalWidth > 0 ? s.naturalWidth : void 0,
|
|
height: s.naturalHeight > 0 ? s.naturalHeight : void 0,
|
|
});
|
|
}),
|
|
(s.onerror = () => r(Error("image probe failed"))),
|
|
(s.src = e);
|
|
}),
|
|
),
|
|
1e4,
|
|
)) ?? {}
|
|
);
|
|
}
|
|
async function l(e) {
|
|
return (
|
|
(await i(
|
|
new Promise((t, r) => {
|
|
let s = document.createElement("video");
|
|
(s.preload = "metadata"),
|
|
(s.src = e),
|
|
(s.onloadedmetadata = () => {
|
|
t({
|
|
width: s.videoWidth > 0 ? s.videoWidth : void 0,
|
|
height: s.videoHeight > 0 ? s.videoHeight : void 0,
|
|
durationSec:
|
|
Number.isFinite(s.duration) && s.duration > 0
|
|
? s.duration
|
|
: void 0,
|
|
}),
|
|
s.removeAttribute("src"),
|
|
s.load();
|
|
}),
|
|
(s.onerror = () => {
|
|
r(Error("video probe failed")),
|
|
s.removeAttribute("src"),
|
|
s.load();
|
|
});
|
|
}),
|
|
1e4,
|
|
)) ?? {}
|
|
);
|
|
}
|
|
async function a(e) {
|
|
return (
|
|
(await i(
|
|
new Promise((t, r) => {
|
|
let s = document.createElement("audio");
|
|
(s.preload = "metadata"),
|
|
(s.src = e),
|
|
(s.onloadedmetadata = () => {
|
|
t({
|
|
durationSec:
|
|
Number.isFinite(s.duration) && s.duration > 0
|
|
? s.duration
|
|
: void 0,
|
|
}),
|
|
s.removeAttribute("src"),
|
|
s.load();
|
|
}),
|
|
(s.onerror = () => {
|
|
r(Error("audio probe failed")),
|
|
s.removeAttribute("src"),
|
|
s.load();
|
|
});
|
|
}),
|
|
1e4,
|
|
)) ?? {}
|
|
);
|
|
}
|
|
function o(e) {
|
|
let t = e.lastIndexOf(".");
|
|
return t > 0 ? e.substring(t + 1).toLowerCase() : void 0;
|
|
}
|
|
function c(e, r) {
|
|
let s = o(e.name),
|
|
i = {
|
|
mimeType: e.type || void 0,
|
|
byteSize: Number.isFinite(e.size) ? e.size : void 0,
|
|
extension: s,
|
|
};
|
|
return r === t.NodeType.IMAGE
|
|
? { kind: "image", ...i }
|
|
: r === t.NodeType.VIDEO
|
|
? { kind: "video", ...i }
|
|
: r === t.NodeType.AUDIO
|
|
? { kind: "audio", ...i }
|
|
: void 0;
|
|
}
|
|
e.s(["mediaPreloadQueue", 0, s], 136030),
|
|
e.s(
|
|
[
|
|
"buildUploadMeta",
|
|
() => c,
|
|
"extractExtension",
|
|
() => o,
|
|
"probeAudioMeta",
|
|
() => a,
|
|
"probeImageMeta",
|
|
() => n,
|
|
"probeVideoMeta",
|
|
() => l,
|
|
],
|
|
528225,
|
|
);
|
|
};
|
|
|
|
export default moduleFactory;
|