@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 1.87 kB
Source Map (JSON)
{"version":3,"file":"v6.cjs","names":["v1","v1ToV6","unsafeStringify"],"sources":["../../../src/utils/uuid/v6.ts"],"sourcesContent":["import { unsafeStringify } from \"./stringify.js\";\nimport type { UUIDTypes, Version6Options } from \"./types.js\";\nimport v1 from \"./v1.js\";\nimport v1ToV6 from \"./v1ToV6.js\";\n\nfunction v6(\n options?: Version6Options,\n buf?: undefined,\n offset?: number\n): string;\nfunction v6<TBuf extends Uint8Array = Uint8Array>(\n options: Version6Options | undefined,\n buf: TBuf,\n offset?: number\n): TBuf;\nfunction v6<TBuf extends Uint8Array = Uint8Array>(\n options?: Version6Options,\n buf?: TBuf,\n offset?: number\n): UUIDTypes<TBuf> {\n options ??= {};\n offset ??= 0;\n\n // v6 is v1 with different field layout, so we start with a v1 UUID, albeit\n // with slightly different behavior around how the clock_seq and node fields\n // are randomized, which is why we call v1 with _v6: true.\n let bytes = v1({ ...options, _v6: true }, new Uint8Array(16));\n\n // Reorder the fields to v6 layout.\n bytes = v1ToV6(bytes);\n\n // Return as a byte array if requested\n if (buf) {\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(\n `UUID byte range ${offset}:${offset + 15} is out of buffer bounds`\n );\n }\n\n for (let i = 0; i < 16; i++) {\n buf[offset + i] = bytes[i];\n }\n return buf;\n }\n\n return unsafeStringify(bytes);\n}\n\nexport default v6;\n"],"mappings":";;;;AAeA,SAAS,GACP,SACA,KACA,QACiB;AACjB,aAAY,EAAE;AACd,YAAW;CAKX,IAAI,QAAQA,WAAAA,QAAG;EAAE,GAAG;EAAS,KAAK;EAAM,EAAE,IAAI,WAAW,GAAG,CAAC;AAG7D,SAAQC,eAAAA,QAAO,MAAM;AAGrB,KAAI,KAAK;AACP,MAAI,SAAS,KAAK,SAAS,KAAK,IAAI,OAClC,OAAM,IAAI,WACR,mBAAmB,OAAO,GAAG,SAAS,GAAG,0BAC1C;AAGH,OAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IACtB,KAAI,SAAS,KAAK,MAAM;AAE1B,SAAO;;AAGT,QAAOC,kBAAAA,gBAAgB,MAAM"}