{"version":3,"sources":["../../src/utils.ts"],"sourcesContent":["import crypto from 'crypto-js';\n\nexport const getFileHash = (filePath: string) => {\n  const hash = crypto.SHA3(filePath);\n\n  return hash\n    .toString(crypto.enc.Base64)\n    .replace(/[^A-Z\\d]/gi, '')\n    .substring(0, 20);\n};\n\nexport const kebabCaseToCamelCase = (name: string): string => {\n  return name\n    .split(/[^a-zA-Z0-9]+/) // Split on any non-alphanumeric character\n    .filter(Boolean) // Remove any empty strings\n    .map((word) => {\n      // Convert the entire word to lowercase first\n      const lowerWord = word.toLowerCase();\n\n      // Capitalize the first character\n      let capitalized = lowerWord.charAt(0).toUpperCase() + lowerWord.slice(1);\n\n      // Capitalize any letter that follows a number\n      capitalized = capitalized.replace(\n        /(\\d)([a-z])/g,\n        (_, number, char) => number + char.toUpperCase()\n      );\n\n      return capitalized;\n    })\n    .join(''); // Concatenate all parts into a single string\n};\n\nexport const sortAlphabetically = (a: string, b: string) => a.localeCompare(b);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAmB;AAEZ,MAAM,cAAc,CAAC,aAAqB;AAC/C,QAAM,OAAO,iBAAAA,QAAO,KAAK,QAAQ;AAEjC,SAAO,KACJ,SAAS,iBAAAA,QAAO,IAAI,MAAM,EAC1B,QAAQ,cAAc,EAAE,EACxB,UAAU,GAAG,EAAE;AACpB;AAEO,MAAM,uBAAuB,CAAC,SAAyB;AAC5D,SAAO,KACJ,MAAM,eAAe,EACrB,OAAO,OAAO,EACd,IAAI,CAAC,SAAS;AAEb,UAAM,YAAY,KAAK,YAAY;AAGnC,QAAI,cAAc,UAAU,OAAO,CAAC,EAAE,YAAY,IAAI,UAAU,MAAM,CAAC;AAGvE,kBAAc,YAAY;AAAA,MACxB;AAAA,MACA,CAAC,GAAG,QAAQ,SAAS,SAAS,KAAK,YAAY;AAAA,IACjD;AAEA,WAAO;AAAA,EACT,CAAC,EACA,KAAK,EAAE;AACZ;AAEO,MAAM,qBAAqB,CAAC,GAAW,MAAc,EAAE,cAAc,CAAC;","names":["crypto"]}