@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 2.2 kB
Source Map (JSON)
{"version":3,"file":"map_keys.cjs","names":[],"sources":["../../src/load/map_keys.ts"],"sourcesContent":["const UPPER_TO_WORD_BOUNDARY = /([A-Z]+)([A-Z][a-z0-9]+)/g;\nconst LOWER_TO_UPPER_BOUNDARY = /([a-z0-9])([A-Z])/g;\nconst SEPARATORS = /[-_\\s]+/g;\n\nfunction snakeCase(key: string): string {\n return key\n .replace(UPPER_TO_WORD_BOUNDARY, \"$1_$2\")\n .replace(LOWER_TO_UPPER_BOUNDARY, \"$1_$2\")\n .replace(SEPARATORS, \"_\")\n .toLowerCase();\n}\n\nfunction camelCase(key: string): string {\n const trimmed = key.trim();\n if (!/[-_\\s]/.test(trimmed)) {\n return trimmed;\n }\n return trimmed\n .replace(SEPARATORS, \"_\")\n .toLowerCase()\n .replace(/_+([a-z0-9])/g, (_, char: string) => char.toUpperCase());\n}\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":";AAAA,MAAM,yBAAyB;AAC/B,MAAM,0BAA0B;AAChC,MAAM,aAAa;AAEnB,SAAS,UAAU,KAAqB;CACtC,OAAO,IACJ,QAAQ,wBAAwB,OAAO,CAAC,CACxC,QAAQ,yBAAyB,OAAO,CAAC,CACzC,QAAQ,YAAY,GAAG,CAAC,CACxB,YAAY;AACjB;AAEA,SAAS,UAAU,KAAqB;CACtC,MAAM,UAAU,IAAI,KAAK;CACzB,IAAI,CAAC,SAAS,KAAK,OAAO,GACxB,OAAO;CAET,OAAO,QACJ,QAAQ,YAAY,GAAG,CAAC,CACxB,YAAY,CAAC,CACb,QAAQ,kBAAkB,GAAG,SAAiB,KAAK,YAAY,CAAC;AACrE;AAWA,SAAgB,UAAU,KAAa,KAAkC;CACvE,OAAO,MAAM,QAAQ,UAAU,GAAG;AACpC;AAEA,SAAgB,YAAY,KAAa,KAAkC;CACzE,OAAO,MAAM,QAAQ,UAAU,GAAG;AACpC;AAEA,SAAgB,QACd,QACA,QACA,KACkB;CAClB,MAAM,SAA2B,CAAC;CAElC,KAAK,MAAM,OAAO,QAChB,IAAI,OAAO,OAAO,QAAQ,GAAG,GAC3B,OAAO,OAAO,KAAK,GAAG,KAAK,OAAO;CAItC,OAAO;AACT"}