{"version":3,"file":"common.cjs","sources":["../../../src/utils/common.ts"],"sourcesContent":["import mime from 'mime';\n\n// eslint-disable-next-line no-control-regex\nexport const removeEmptyChars = (value: string) => value.replace(/\\u0000/g, '');\n\nexport const padEmptyChars = (value: string, chars: number) =>\n  value.padEnd(chars, '\\u0000');\n\nexport const tryOr = <T, U>(callback: () => T, defaultValue: U): T | U => {\n  try {\n    return callback();\n  } catch (error) {\n    return defaultValue;\n  }\n};\n\nexport const tryOrNull = <T>(cb: () => T) => tryOr(cb, null);\n\nexport const chunk = <T>(array: T[], chunkSize: number): T[][] =>\n  array.reduce((accumulator, item, index) => {\n    const chunkIndex = Math.floor(index / chunkSize);\n\n    if (!accumulator[chunkIndex]) {\n      accumulator[chunkIndex] = [];\n    }\n\n    accumulator[chunkIndex].push(item);\n\n    return accumulator;\n  }, [] as T[][]);\n\nexport const zipMap = <T, U, V>(\n  left: T[],\n  right: U[],\n  fn: (t: T, u: U | null, i: number) => V\n): V[] => left.map((t: T, index) => fn(t, right?.[index] ?? null, index));\n\nexport const randomStr = (\n  length = 20,\n  alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n) => {\n  let result = '';\n  const alphabetLength = alphabet.length;\n  for (var i = 0; i < length; i++) {\n    result += alphabet.charAt(Math.floor(Math.random() * alphabetLength));\n  }\n\n  return result;\n};\n\nexport const getContentType = (fileName: string): string | null =>\n  mime.getType(fileName);\n\nexport const getExtension = (fileName: string): string | null => {\n  const lastDotIndex = fileName.lastIndexOf('.');\n\n  return lastDotIndex < 0 ? null : fileName.slice(lastDotIndex + 1);\n};\n\nexport type WalkOptions = {\n  sortObjectKeys?: boolean;\n};\n\nexport const walk = (\n  parent: any,\n  cb: (\n    next: (child: any) => void,\n    value: any,\n    key: any,\n    parent: any\n  ) => unknown,\n  options?: WalkOptions\n): void => {\n  const recursiveWalk = (child: any) => walk(child, cb, options);\n\n  if (parent && Array.isArray(parent)) {\n    parent.forEach((child, index) => {\n      cb(recursiveWalk, child, index, parent);\n    });\n  } else if (parent && typeof parent === 'object') {\n    const keys = Object.keys(parent);\n\n    if (options?.sortObjectKeys ?? true) {\n      keys.sort();\n    }\n\n    keys.forEach((key) => {\n      const child = parent[key];\n      cb(recursiveWalk, child, key, parent);\n    });\n  }\n};\n\nexport const removeUndefinedAttributes = <\n  T extends {\n    [key: string]: any;\n  }\n>(\n  object: T\n): { [key in keyof T]-?: T[key] } =>\n  Object.keys(object).reduce((acc, key: keyof T) => {\n    if (object[key] !== undefined) {\n      acc[key] = object[key];\n    }\n    return acc;\n  }, {} as { [key in keyof T]-?: T[key] });\n\nexport const sleep = (seconds: number) => {\n  return new Promise((resolve) => setTimeout(resolve, seconds * 1000));\n};\n"],"names":["removeEmptyChars","value","replace","padEmptyChars","chars","padEnd","tryOr","callback","defaultValue","error","tryOrNull","cb","chunk","array","chunkSize","reduce","accumulator","item","index","chunkIndex","Math","floor","push","zipMap","left","right","fn","map","t","_right$index","randomStr","length","arguments","undefined","alphabet","result","alphabetLength","i","charAt","random","getContentType","fileName","mime","getType","getExtension","lastDotIndex","lastIndexOf","slice","walk","parent","options","recursiveWalk","child","Array","isArray","forEach","_typeof","_options$sortObjectKe","keys","Object","sortObjectKeys","sort","key","removeUndefinedAttributes","object","acc","sleep","seconds","Promise","resolve","setTimeout"],"mappings":"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"}