{"version":3,"file":"etag.cjs","names":[],"sources":["../../src/utils/etag.ts"],"sourcesContent":["import type { Branded } from \"@milaboratories/pl-model-common\";\nimport type { PFrameInternal } from \"@milaboratories/pl-model-middle-layer\";\n\n/**\n * See <https://datatracker.ietf.org/doc/html/rfc9110#section-8.8.3>\n *\n * Examples:\n *\n * ```text\n * ETag: \"xyzzy\"\n * ETag: W/\"xyzzy\"\n * ```\n */\nexport type Etag = Branded<string, \"Etag\">;\n\nexport function createETag(filename: PFrameInternal.ParquetFileName): Etag {\n  // For immutable files, use URL-safe base64 encoded filename as ETag\n  const filenameETag = Buffer.from(filename, \"utf8\").toString(\"base64url\");\n  return `\"${filenameETag}\"` as Etag;\n}\n"],"mappings":";AAeA,SAAgB,WAAW,UAAgD;AAGzE,QAAO,IADc,OAAO,KAAK,UAAU,OAAO,CAAC,SAAS,YAAY,CAChD"}