audio-transcripter
Version:
Lightweight TypeScript library for transcribing audio files using Google Gemini 2.0 models. Supports local files, remote URLs, and Blobs.
32 lines (31 loc) • 1.24 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkUrlExists = checkUrlExists;
const node_https_1 = __importDefault(require("node:https"));
const node_http_1 = __importDefault(require("node:http"));
function checkUrlExists(url, options) {
return new Promise((resolve) => {
const client = url.startsWith("https") ? node_https_1.default : node_http_1.default;
const timeoutMs = options?.timeout ?? 5000;
const req = client.request(url, { method: "HEAD" }, (res) => {
const exists = res.statusCode !== undefined &&
res.statusCode >= 200 &&
res.statusCode < 400;
resolve({ exists, status: res.statusCode });
});
req.on("error", (err) => {
if (options?.verbose) {
console.error("Error in checkUrlExists:", err.message);
}
resolve({ exists: false });
});
req.setTimeout(timeoutMs, () => {
req.destroy();
resolve({ exists: false });
});
req.end();
});
}