chaite
Version:
core for chatgpt-plugin and karin-plugin-chatgpt
80 lines (78 loc) • 2.48 kB
JavaScript
import { i as __require, t as __commonJS } from "../../rolldown-runtime-DVriDoez.mjs";
//#region node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js
/*!
* etag
* Copyright(c) 2014-2016 Douglas Christopher Wilson
* MIT Licensed
*/
var require_etag = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js": ((exports, module) => {
/**
* Module exports.
* @public
*/
module.exports = etag;
/**
* Module dependencies.
* @private
*/
var crypto = __require("crypto");
var Stats = __require("fs").Stats;
/**
* Module variables.
* @private
*/
var toString = Object.prototype.toString;
/**
* Generate an entity tag.
*
* @param {Buffer|string} entity
* @return {string}
* @private
*/
function entitytag(entity) {
if (entity.length === 0) return "\"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk\"";
var hash = crypto.createHash("sha1").update(entity, "utf8").digest("base64").substring(0, 27);
return "\"" + (typeof entity === "string" ? Buffer.byteLength(entity, "utf8") : entity.length).toString(16) + "-" + hash + "\"";
}
/**
* Create a simple ETag.
*
* @param {string|Buffer|Stats} entity
* @param {object} [options]
* @param {boolean} [options.weak]
* @return {String}
* @public
*/
function etag(entity, options) {
if (entity == null) throw new TypeError("argument entity is required");
var isStats = isstats(entity);
var weak = options && typeof options.weak === "boolean" ? options.weak : isStats;
if (!isStats && typeof entity !== "string" && !Buffer.isBuffer(entity)) throw new TypeError("argument entity must be string, Buffer, or fs.Stats");
var tag = isStats ? stattag(entity) : entitytag(entity);
return weak ? "W/" + tag : tag;
}
/**
* Determine if object is a Stats object.
*
* @param {object} obj
* @return {boolean}
* @api private
*/
function isstats(obj) {
if (typeof Stats === "function" && obj instanceof Stats) return true;
return obj && typeof obj === "object" && "ctime" in obj && toString.call(obj.ctime) === "[object Date]" && "mtime" in obj && toString.call(obj.mtime) === "[object Date]" && "ino" in obj && typeof obj.ino === "number" && "size" in obj && typeof obj.size === "number";
}
/**
* Generate a tag for a stat.
*
* @param {object} stat
* @return {string}
* @private
*/
function stattag(stat) {
var mtime = stat.mtime.getTime().toString(16);
return "\"" + stat.size.toString(16) + "-" + mtime + "\"";
}
}) });
//#endregion
export { require_etag as t };