{
  "version": 3,
  "sources": ["../../../../src/packages/config/auth.ts"],
  "sourcesContent": ["import type { Config } from './Config.ts';\nimport {\n  type InheritableConfig,\n  inheritPickedConfig,\n} from './inheritPickedConfig.ts';\nimport type { types } from './types.ts';\n\nconst RAW_AUTH_CFG_KEYS = [\n  'ca',\n  'cafile',\n  'cert',\n  'key',\n  'local-address',\n  'git-shallow-hosts',\n  'https-proxy',\n  'proxy',\n  'no-proxy',\n  'registry',\n  'strict-ssl',\n] satisfies Array<keyof typeof types>;\n\nconst RAW_AUTH_CFG_KEY_SUFFIXES = [\n  ':cafile',\n  ':certfile',\n  ':keyfile',\n  ':registry',\n  ':tokenHelper',\n  ':_auth',\n  ':_authToken',\n];\n\nconst AUTH_CFG_KEYS = [\n  'ca',\n  'cert',\n  'key',\n  'localAddress',\n  'gitShallowHosts',\n  'httpsProxy',\n  'httpProxy',\n  'noProxy',\n  'registry',\n  'registries',\n  'strictSsl',\n] satisfies Array<keyof Config>;\n\nfunction isRawAuthCfgKey(rawCfgKey: string): boolean {\n  if (RAW_AUTH_CFG_KEYS.includes(rawCfgKey)) {\n    return true;\n  }\n\n  if (\n    RAW_AUTH_CFG_KEY_SUFFIXES.some((suffix: string): boolean => {\n      return rawCfgKey.endsWith(suffix);\n    })\n  ) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction isAuthCfgKey(\n  cfgKey: keyof Config\n): cfgKey is (typeof AUTH_CFG_KEYS)[number] {\n  return AUTH_CFG_KEYS.includes(cfgKey);\n}\n\nfunction pickRawAuthConfig<RawLocalCfg extends Record<string, unknown>>(\n  rawLocalCfg: RawLocalCfg\n): Partial<RawLocalCfg> {\n  const result: Partial<RawLocalCfg> = {};\n\n  for (const key in rawLocalCfg) {\n    if (isRawAuthCfgKey(key)) {\n      result[key] = rawLocalCfg[key];\n    }\n  }\n\n  return result;\n}\n\nfunction pickAuthConfig(localCfg: Partial<Config>): Partial<Config> {\n  const result: Record<string, unknown> = {};\n\n  for (const key in localCfg) {\n    if (isAuthCfgKey(key as keyof Config)) {\n      result[key] = localCfg[key as keyof Config];\n    }\n  }\n\n  return result as Partial<Config>;\n}\n\nexport function inheritAuthConfig(\n  targetCfg: InheritableConfig,\n  authSrcCfg: InheritableConfig\n): void {\n  inheritPickedConfig(targetCfg, authSrcCfg, pickAuthConfig, pickRawAuthConfig);\n}\n"],
  "mappings": "AACA;AAAA,EAEE;AAAA,OACK;AAGP,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,4BAA4B;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,gBAAgB,WAA4B;AACnD,MAAI,kBAAkB,SAAS,SAAS,GAAG;AACzC,WAAO;AAAA,EACT;AAEA,MACE,0BAA0B,KAAK,CAAC,WAA4B;AAC1D,WAAO,UAAU,SAAS,MAAM;AAAA,EAClC,CAAC,GACD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,SAAS,aACP,QAC0C;AAC1C,SAAO,cAAc,SAAS,MAAM;AACtC;AAEA,SAAS,kBACP,aACsB;AACtB,QAAM,SAA+B,CAAC;AAEtC,aAAW,OAAO,aAAa;AAC7B,QAAI,gBAAgB,GAAG,GAAG;AACxB,aAAO,GAAG,IAAI,YAAY,GAAG;AAAA,IAC/B;AAAA,EACF;AAEA,SAAO;AACT;AAEA,SAAS,eAAe,UAA4C;AAClE,QAAM,SAAkC,CAAC;AAEzC,aAAW,OAAO,UAAU;AAC1B,QAAI,aAAa,GAAmB,GAAG;AACrC,aAAO,GAAG,IAAI,SAAS,GAAmB;AAAA,IAC5C;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,kBACd,WACA,YACM;AACN,sBAAoB,WAAW,YAAY,gBAAgB,iBAAiB;AAC9E;",
  "names": []
}
