@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 2.65 kB
Source Map (JSON)
{"version":3,"file":"stringify.cjs","names":["validate"],"sources":["../../../src/utils/uuid/stringify.ts"],"sourcesContent":["import validate from \"./validate.js\";\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex: string[] = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr: Uint8Array, offset = 0): string {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (\n byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n \"-\" +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n \"-\" +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n \"-\" +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n \"-\" +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]\n ).toLowerCase();\n}\n\nfunction stringify(arr: Uint8Array, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError(\"Stringified UUID is invalid\");\n }\n\n return uuid;\n}\n\nexport default stringify;\n"],"mappings":";;;;;;AAMA,MAAM,YAAsB,EAAE;AAE9B,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,EACzB,WAAU,MAAM,IAAI,KAAO,SAAS,GAAG,CAAC,MAAM,EAAE,CAAC;AAGnD,SAAgB,gBAAgB,KAAiB,SAAS,GAAW;AAMnE,SACE,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,MACvB,UAAU,IAAI,SAAS,MACvB,MACA,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,OACvB,UAAU,IAAI,SAAS,MACvB,aAAa;;AAGjB,SAAS,UAAU,KAAiB,SAAS,GAAG;CAC9C,MAAM,OAAO,gBAAgB,KAAK,OAAO;AAOzC,KAAI,CAACA,iBAAAA,QAAS,KAAK,CACjB,OAAM,UAAU,8BAA8B;AAGhD,QAAO"}