{"version":3,"file":"map_keys.cjs","names":[],"sources":["../../src/load/map_keys.ts"],"sourcesContent":["import snakeCase from \"decamelize\";\nimport camelCase from \"camelcase\";\n\nexport interface SerializedFields {\n  // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n  [key: string]: any;\n}\n\nexport interface SerializedKeyAlias {\n  [key: string]: string;\n}\n\nexport function keyToJson(key: string, map?: SerializedKeyAlias): string {\n  return map?.[key] || snakeCase(key);\n}\n\nexport function keyFromJson(key: string, map?: SerializedKeyAlias): string {\n  return map?.[key] || camelCase(key);\n}\n\nexport function mapKeys(\n  fields: SerializedFields,\n  mapper: typeof keyToJson,\n  map?: SerializedKeyAlias\n): SerializedFields {\n  const mapped: SerializedFields = {};\n\n  for (const key in fields) {\n    if (Object.hasOwn(fields, key)) {\n      mapped[mapper(key, map)] = fields[key];\n    }\n  }\n\n  return mapped;\n}\n"],"mappings":";;;;;;AAYA,SAAgB,UAAU,KAAa,KAAkC;AACvE,QAAO,MAAM,SAAA,GAAA,WAAA,SAAkB,IAAI;;AAGrC,SAAgB,YAAY,KAAa,KAAkC;AACzE,QAAO,MAAM,SAAA,GAAA,UAAA,SAAkB,IAAI;;AAGrC,SAAgB,QACd,QACA,QACA,KACkB;CAClB,MAAM,SAA2B,EAAE;AAEnC,MAAK,MAAM,OAAO,OAChB,KAAI,OAAO,OAAO,QAAQ,IAAI,CAC5B,QAAO,OAAO,KAAK,IAAI,IAAI,OAAO;AAItC,QAAO"}