{"version":3,"file":"helpers.cjs","names":[],"sources":["../src/helpers.ts"],"sourcesContent":["export function deepMergeObjects<T extends Record<string, unknown>>(\n  obj1: T,\n  obj2: Record<string, unknown> | undefined\n): T {\n  obj1 = { ...obj1 }\n  if (!obj2) return obj1\n\n  for (const [key, value] of Object.entries(obj2)) {\n    if (value == null) continue\n\n    if (obj1[key] && typeof obj1[key] === 'object' && typeof value === 'object') {\n      // @ts-expect-error T is generic, it cannot handle this case\n      obj1[key] = deepMergeObjects(obj1[key], value)\n    } else {\n      // @ts-expect-error T is generic, it cannot handle this case\n      obj1[key] = value\n    }\n  }\n  return obj1\n}\n\nexport function getEnv<T extends string>(envVariableName: string, defaultValue: T): T\nexport function getEnv<T extends string>(envVariableName: string): T | undefined\nexport function getEnv<T extends string>(envVariableName: string, defaultValue?: T): T | undefined {\n  if (typeof process === 'undefined' || typeof process.env === 'undefined') {\n    return defaultValue\n  }\n  return (process.env[envVariableName] ?? defaultValue) as T | undefined\n}\n\nexport async function sleep(ms: number): Promise<void> {\n  await new Promise<void>((resolve) => setTimeout(resolve, ms))\n}\n\nfunction isSharedArrayBuffer(\n  audio: ArrayBufferLike | Buffer<ArrayBufferLike> | ArrayLike<number>\n): audio is SharedArrayBuffer {\n  return typeof SharedArrayBuffer !== 'undefined' && audio instanceof SharedArrayBuffer\n}\n\nexport function toUint8Array(\n  audio: ArrayBufferLike | Buffer<ArrayBufferLike> | ArrayLike<number>\n): Uint8Array {\n  if (isSharedArrayBuffer(audio)) {\n    return new Uint8Array(audio)\n  }\n  return new Uint8Array(audio)\n}\n\nexport function concatArrayBuffer(\n  buffer1?: Uint8Array | null,\n  buffer2?: Uint8Array | null\n): Uint8Array {\n  const newBuffer = new Uint8Array((buffer1?.byteLength ?? 0) + (buffer2?.byteLength ?? 0))\n  if (buffer1) {\n    newBuffer.set(new Uint8Array(buffer1), 0)\n  }\n  if (buffer2) {\n    newBuffer.set(new Uint8Array(buffer2), buffer1?.byteLength ?? 0)\n  }\n  return newBuffer\n}\n"],"mappings":";;AAAA,SAAgB,iBACd,MACA,MACG;AACH,QAAO,EAAE,GAAG,MAAM;AAClB,KAAI,CAAC,KAAM,QAAO;AAElB,MAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,KAAK,EAAE;AAC/C,MAAI,SAAS,KAAM;AAEnB,MAAI,KAAK,QAAQ,OAAO,KAAK,SAAS,YAAY,OAAO,UAAU,SAEjE,MAAK,OAAO,iBAAiB,KAAK,MAAM,MAAM;MAG9C,MAAK,OAAO;;AAGhB,QAAO;;AAKT,SAAgB,OAAyB,iBAAyB,cAAiC;AACjG,KAAI,OAAO,YAAY,eAAe,OAAO,QAAQ,QAAQ,YAC3D,QAAO;AAET,QAAQ,QAAQ,IAAI,oBAAoB;;AAG1C,eAAsB,MAAM,IAA2B;AACrD,OAAM,IAAI,SAAe,YAAY,WAAW,SAAS,GAAG,CAAC;;AAG/D,SAAS,oBACP,OAC4B;AAC5B,QAAO,OAAO,sBAAsB,eAAe,iBAAiB;;AAGtE,SAAgB,aACd,OACY;AACZ,KAAI,oBAAoB,MAAM,CAC5B,QAAO,IAAI,WAAW,MAAM;AAE9B,QAAO,IAAI,WAAW,MAAM;;AAG9B,SAAgB,kBACd,SACA,SACY;CACZ,MAAM,YAAY,IAAI,YAAY,SAAS,cAAc,MAAM,SAAS,cAAc,GAAG;AACzF,KAAI,QACF,WAAU,IAAI,IAAI,WAAW,QAAQ,EAAE,EAAE;AAE3C,KAAI,QACF,WAAU,IAAI,IAAI,WAAW,QAAQ,EAAE,SAAS,cAAc,EAAE;AAElE,QAAO"}