UNPKG

@langchain/core

Version:
24 lines (23 loc) • 843 B
import rng from "./rng.js"; import { unsafeStringify } from "./stringify.js"; // src/utils/uuid/v4.ts function v4(options, buf, offset) { if (!buf && !options && crypto.randomUUID) return crypto.randomUUID(); return _v4(options, buf, offset); } function _v4(options, buf, offset) { options = options || {}; const rnds = options.random ?? options.rng?.() ?? rng(); if (rnds.length < 16) throw new Error("Random bytes length must be >= 16"); rnds[6] = rnds[6] & 15 | 64; rnds[8] = rnds[8] & 63 | 128; if (buf) { offset = offset || 0; if (offset < 0 || offset + 16 > buf.length) throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`); for (let i = 0; i < 16; ++i) buf[offset + i] = rnds[i]; return buf; } return unsafeStringify(rnds); } export { v4 as default }; //# sourceMappingURL=v4.js.map