{"version":3,"file":"javascript-esm.cjs","sources":["../../../../../../src/core/tokens/style-dictionary/formats/javascript-esm.ts"],"sourcesContent":["import { camelCase } from \"change-case\";\nimport type {\n    DesignToken,\n    Dictionary,\n    File,\n    Format,\n} from \"style-dictionary/types\";\nimport { fileHeader } from \"style-dictionary/utils\";\n\nconst formatKeysToCamelCase = (token: DesignToken) => {\n    if (!token || typeof token !== \"object\") {\n        return token;\n    }\n\n    if (\"value\" in token) {\n        return token.value;\n    }\n\n    const camelCasedObject: Record<string, unknown> = {};\n    for (const [key, value] of Object.entries(token)) {\n        const camelCasedKey = camelCase(key);\n        camelCasedObject[camelCasedKey] = formatKeysToCamelCase(value);\n    }\n\n    return camelCasedObject;\n};\n\nconst javascriptEsmFormat: Format = {\n    name: \"javascript/esm\",\n    format: async ({\n        dictionary,\n        file,\n    }: { dictionary: Dictionary; file: File }) => {\n        return `${await fileHeader({ file })}export default ${JSON.stringify(formatKeysToCamelCase(dictionary.tokens))};\\n`;\n    },\n};\n\nexport default javascriptEsmFormat;\n"],"names":["formatKeysToCamelCase","token","value","camelCasedObject","key","Object","entries","camelCase","javascriptEsmFormat","name","format","async","dictionary","file","fileHeader","JSON","stringify","tokens"],"mappings":"sGASMA,EAAyBC,IAC3B,IAAKA,GAA0B,iBAAVA,EACjB,OAAOA,EAGX,GAAI,UAAWA,EACX,OAAOA,EAAMC,MAGjB,MAAMC,EAA4C,CAAA,EAClD,IAAA,MAAYC,EAAKF,KAAUG,OAAOC,QAAQL,GAAQ,CAE9CE,EADsBI,EAAAA,UAAUH,IACEJ,EAAsBE,EAC5D,CAEA,OAAOC,GAGLK,EAA8B,CAChCC,KAAM,iBACNC,OAAQC,OACJC,WAAAA,EACAC,KAAAA,KAEO,SAASC,EAAAA,WAAW,CAAED,KAAAA,qBAAyBE,KAAKC,UAAUhB,EAAsBY,EAAWK"}