import { Buffer } from "vite-plugin-node-polyfills/shims/buffer"; import { blake2b } from "@exodus/blakejs"; import { base32Encode } from "./utils.js"; globalThis.Buffer = Buffer; const dateRegex = /^(\d{4})-(\d{2})-(\d{2})([tT ])(\d{2}):(\d{2}):(\d{2})\.?(\d{3})?(?:(?:([+-]\d{2}):?(\d{2}))|Z)?$/; const formatRFC3339 = (date) => { const pad = (num = 0) => `${+num < 10 ? 0 : ""}${+num}`; const padYear = (num = 0) => `${+num < 1e3 ? 0 : ""}${+num < 100 ? 0 : ""}${+num < 10 ? 0 : ""}${+num}`; let m = dateRegex.exec(date); if (m && m?.[9] === void 0) { m[9] = "+00"; } if (m && m?.[10] === void 0) { m[10] = "00"; } const offset = `${m?.[9]}:${m?.[10]}`.replace(/[+-]?00:00$/, "Z"); return [ padYear(m?.[1]), "-", pad(m?.[2]), "-", pad(m?.[3]), m?.[4], pad(m?.[5]), ":", pad(m?.[6]), ":", pad(m?.[7]), //ignore milliseconds (m[8]) offset ].join(""); }; function hashTwt(twt) { const created = formatRFC3339(twt.created); const payload = [twt.url, created, twt.content].join("\n"); return base32Encode(blake2b(payload, void 0, 32)).toLowerCase().slice(-7); } export { hashTwt as default }; //# sourceMappingURL=hashTwt.js.map