{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2BAA8B;AAC9B,8EAG6C;AAE7C,uCAAqD;AAErD,iEAAiE;AACjE,0EAA0E;AAC1E,2EAA2E;AAC9D,QAAA,uBAAuB,GAClC,IAAA,aAAQ,GAAE,KAAK,OAAO,CAAC,CAAC,CAAC,kCAAwB,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,QAAA,0BAA0B,GACrC,IAAA,aAAQ,GAAE,KAAK,OAAO;IACpB,CAAC,CAAC,mDAA4B;IAC9B,CAAC,CAAC,mDAA4B,CAAC;AAEnC,SAAS,OAAO,CAAC,IAAe;IAC9B,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC7D,CAAC;AAED,SAAgB,iBAAiB,CAC/B,IAAe;IAEf,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO;KACR;IAED,QAAQ,OAAO,GAAG,EAAE;QAClB,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;aACpB,CAAC;QACJ,KAAK,QAAQ;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;aAC/B;YACD,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,SAAS,IAAI,CAAC,EAAE;gBAClB,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;iBACpB,CAAC;aACH;YAED,OAAO;gBACL,IAAI,EAAE,GAAG;aACV,CAAC;SACH;QACD;YACE,OAAO;KACV;AACH,CAAC;AAnCD,8CAmCC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { platform } from 'os';\nimport {\n  NETWORK_TRANSPORT_VALUE_PIPE,\n  NETWORK_TRANSPORT_VALUE_UNIX,\n} from '@opentelemetry/semantic-conventions';\nimport { NormalizedOptions } from './internal-types';\nimport { NET_TRANSPORT_VALUE_PIPE } from './semconv';\n\n// There is no `NET_TRANSPORT_VALUE_UNIX` because breaking change\n// https://github.com/open-telemetry/opentelemetry-specification/pull/3426\n// *removed* it. This was from before semconv got more careful of removals.\nexport const OLD_IPC_TRANSPORT_VALUE =\n  platform() === 'win32' ? NET_TRANSPORT_VALUE_PIPE : 'unix';\nexport const STABLE_IPC_TRANSPORT_VALUE =\n  platform() === 'win32'\n    ? NETWORK_TRANSPORT_VALUE_PIPE\n    : NETWORK_TRANSPORT_VALUE_UNIX;\n\nfunction getHost(args: unknown[]) {\n  return typeof args[1] === 'string' ? args[1] : 'localhost';\n}\n\nexport function getNormalizedArgs(\n  args: unknown[]\n): NormalizedOptions | null | undefined {\n  const opt = args[0];\n  if (!opt) {\n    return;\n  }\n\n  switch (typeof opt) {\n    case 'number':\n      return {\n        port: opt,\n        host: getHost(args),\n      };\n    case 'object':\n      if (Array.isArray(opt)) {\n        return getNormalizedArgs(opt);\n      }\n      return opt;\n    case 'string': {\n      const maybePort = Number(opt);\n      if (maybePort >= 0) {\n        return {\n          port: maybePort,\n          host: getHost(args),\n        };\n      }\n\n      return {\n        path: opt,\n      };\n    }\n    default:\n      return;\n  }\n}\n"]}