{"version":3,"file":"validations.mjs","sources":["../../src/api-client-utilities/validations.ts"],"sourcesContent":["import {ApiClientLogger} from './types';\n\nexport function validateDomainAndGetStoreUrl({\n  client,\n  storeDomain,\n}: {\n  client: string;\n  storeDomain: string | undefined;\n}) {\n  try {\n    if (!storeDomain || typeof storeDomain !== 'string') {\n      throw new Error();\n    }\n\n    const trimmedDomain = storeDomain.trim();\n\n    const protocolUrl = trimmedDomain.match(/^https?:/)\n      ? trimmedDomain\n      : `https://${trimmedDomain}`;\n\n    const url = new URL(protocolUrl);\n    url.protocol = 'https';\n\n    return url.origin;\n  } catch (error) {\n    throw new Error(\n      `${client}: a valid store domain (\"${storeDomain}\") must be provided`,\n      {cause: error},\n    );\n  }\n}\n\nexport function validateApiVersion({\n  client,\n  currentSupportedApiVersions,\n  apiVersion,\n  logger,\n}: {\n  client: string;\n  currentSupportedApiVersions: string[];\n  apiVersion: string;\n  logger?: ApiClientLogger;\n}) {\n  const versionError = `${client}: the provided apiVersion (\"${apiVersion}\")`;\n  const supportedVersion = `Currently supported API versions: ${currentSupportedApiVersions.join(\n    ', ',\n  )}`;\n\n  if (!apiVersion || typeof apiVersion !== 'string') {\n    throw new Error(`${versionError} is invalid. ${supportedVersion}`);\n  }\n\n  const trimmedApiVersion = apiVersion.trim();\n\n  if (!currentSupportedApiVersions.includes(trimmedApiVersion)) {\n    if (logger) {\n      logger({\n        type: 'Unsupported_Api_Version',\n        content: {\n          apiVersion,\n          supportedApiVersions: currentSupportedApiVersions,\n        },\n      });\n    } else {\n      console.warn(\n        `${versionError} is likely deprecated or not supported. ${supportedVersion}`,\n      );\n    }\n  }\n}\n"],"names":[],"mappings":"SAEgB,4BAA4B,CAAC,EAC3C,MAAM,EACN,WAAW,GAIZ,EAAA;AACC,IAAA,IAAI;QACF,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnD,MAAM,IAAI,KAAK,EAAE;QACnB;AAEA,QAAA,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,EAAE;AAExC,QAAA,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU;AAChD,cAAE;AACF,cAAE,CAAA,QAAA,EAAW,aAAa,CAAA,CAAE;AAE9B,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC;AAChC,QAAA,GAAG,CAAC,QAAQ,GAAG,OAAO;QAEtB,OAAO,GAAG,CAAC,MAAM;IACnB;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,EAAG,MAAM,CAAA,yBAAA,EAA4B,WAAW,CAAA,mBAAA,CAAqB,EACrE,EAAC,KAAK,EAAE,KAAK,EAAC,CACf;IACH;AACF;AAEM,SAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,2BAA2B,EAC3B,UAAU,EACV,MAAM,GAMP,EAAA;AACC,IAAA,MAAM,YAAY,GAAG,CAAA,EAAG,MAAM,CAAA,4BAAA,EAA+B,UAAU,IAAI;IAC3E,MAAM,gBAAgB,GAAG,CAAA,kCAAA,EAAqC,2BAA2B,CAAC,IAAI,CAC5F,IAAI,CACL,CAAA,CAAE;IAEH,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,YAAY,CAAA,aAAA,EAAgB,gBAAgB,CAAA,CAAE,CAAC;IACpE;AAEA,IAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,EAAE;IAE3C,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAC5D,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,CAAC;AACL,gBAAA,IAAI,EAAE,yBAAyB;AAC/B,gBAAA,OAAO,EAAE;oBACP,UAAU;AACV,oBAAA,oBAAoB,EAAE,2BAA2B;AAClD,iBAAA;AACF,aAAA,CAAC;QACJ;aAAO;YACL,OAAO,CAAC,IAAI,CACV,CAAA,EAAG,YAAY,CAAA,wCAAA,EAA2C,gBAAgB,CAAA,CAAE,CAC7E;QACH;IACF;AACF;;;;"}