{
  "version": 3,
  "sources": ["../../../../src/packages/core/parseWantedDependencies.ts"],
  "sourcesContent": ["import { parseWantedDependency } from '../parse-wanted-dependency/index.ts';\nimport type { Dependencies } from '../types/index.ts';\nimport {\n  whichVersionIsPinned,\n  type PinnedVersion,\n} from '../which-version-is-pinned/index.ts';\nimport type { Catalog } from '../catalogs.types/index.ts';\nimport type { WantedDependency } from '../resolve-dependencies/getWantedDependencies.ts';\n\nexport function parseWantedDependencies(\n  rawWantedDependencies: string[],\n  opts: {\n    allowNew: boolean;\n    currentPrefs: Dependencies;\n    defaultTag: string;\n    dev: boolean;\n    devDependencies: Dependencies;\n    optional: boolean;\n    optionalDependencies: Dependencies;\n    overrides?: Record<string, string> | undefined;\n    updateWorkspaceDependencies?: boolean | undefined;\n    preferredSpecs?: Record<string, string> | undefined;\n    defaultCatalog?: Catalog | undefined;\n  }\n): WantedDependency[] {\n  return rawWantedDependencies\n    .map((rawWantedDependency: string): WantedDependency | null => {\n      const parsed = parseWantedDependency(rawWantedDependency);\n\n      const alias = parsed.alias;\n\n      let pref = parsed.pref;\n\n      let pinnedVersion: PinnedVersion | undefined;\n\n      if (\n        typeof alias === 'undefined' ||\n        (!opts.allowNew && typeof opts.currentPrefs[alias] === 'undefined')\n      ) {\n        return null;\n      }\n\n      if (\n        typeof alias !== 'undefined' &&\n        typeof opts.defaultCatalog?.[alias] !== 'undefined' &&\n        ((typeof opts.currentPrefs[alias] === 'undefined' &&\n          typeof pref === 'undefined') ||\n          opts.defaultCatalog[alias] === pref ||\n          opts.defaultCatalog[alias] === opts.currentPrefs[alias])\n      ) {\n        pref = 'catalog:';\n      }\n\n      if (\n        typeof alias === 'string' &&\n        typeof opts.currentPrefs[alias] === 'string'\n      ) {\n        if (typeof pref === 'undefined') {\n          pref =\n            opts.currentPrefs[alias].startsWith('workspace:') &&\n            opts.updateWorkspaceDependencies === true\n              ? 'workspace:*'\n              : opts.currentPrefs[alias];\n        }\n\n        pinnedVersion = whichVersionIsPinned(opts.currentPrefs[alias]);\n      }\n\n      const result = {\n        alias,\n        dev: Boolean(\n          opts.dev ||\n            (typeof alias === 'string' &&\n              typeof opts.devDependencies[alias] !== 'undefined')\n        ),\n        optional: Boolean(\n          opts.optional ||\n            (typeof alias === 'string' &&\n              typeof opts.optionalDependencies[alias] !== 'undefined')\n        ),\n        pinnedVersion,\n        raw:\n          typeof alias === 'string' &&\n          typeof opts.currentPrefs[alias] === 'string' &&\n          opts.currentPrefs[alias].startsWith('workspace:')\n            ? `${alias}@${opts.currentPrefs[alias]}`\n            : rawWantedDependency,\n      };\n\n      if (typeof pref === 'string') {\n        return {\n          ...result,\n          pref,\n        };\n      }\n\n      if (typeof opts.preferredSpecs?.[alias] === 'string') {\n        return {\n          ...result,\n          pref: opts.preferredSpecs[alias],\n          raw: `${rawWantedDependency}@${opts.preferredSpecs[alias]}`,\n        };\n      }\n\n      if (typeof opts.overrides?.[alias] === 'string') {\n        return {\n          ...result,\n          pref: opts.overrides[alias],\n          raw: `${alias}@${opts.overrides[alias]}`,\n        };\n      }\n\n      return {\n        ...result,\n        pref: opts.defaultTag,\n      };\n    })\n    .filter(Boolean);\n}\n"],
  "mappings": "AAAA,SAAS,6BAA6B;AAEtC;AAAA,EACE;AAAA,OAEK;AAIA,SAAS,wBACd,uBACA,MAaoB;AACpB,SAAO,sBACJ,IAAI,CAAC,wBAAyD;AAC7D,UAAM,SAAS,sBAAsB,mBAAmB;AAExD,UAAM,QAAQ,OAAO;AAErB,QAAI,OAAO,OAAO;AAElB,QAAI;AAEJ,QACE,OAAO,UAAU,eAChB,CAAC,KAAK,YAAY,OAAO,KAAK,aAAa,KAAK,MAAM,aACvD;AACA,aAAO;AAAA,IACT;AAEA,QACE,OAAO,UAAU,eACjB,OAAO,KAAK,iBAAiB,KAAK,MAAM,gBACtC,OAAO,KAAK,aAAa,KAAK,MAAM,eACpC,OAAO,SAAS,eAChB,KAAK,eAAe,KAAK,MAAM,QAC/B,KAAK,eAAe,KAAK,MAAM,KAAK,aAAa,KAAK,IACxD;AACA,aAAO;AAAA,IACT;AAEA,QACE,OAAO,UAAU,YACjB,OAAO,KAAK,aAAa,KAAK,MAAM,UACpC;AACA,UAAI,OAAO,SAAS,aAAa;AAC/B,eACE,KAAK,aAAa,KAAK,EAAE,WAAW,YAAY,KAChD,KAAK,gCAAgC,OACjC,gBACA,KAAK,aAAa,KAAK;AAAA,MAC/B;AAEA,sBAAgB,qBAAqB,KAAK,aAAa,KAAK,CAAC;AAAA,IAC/D;AAEA,UAAM,SAAS;AAAA,MACb;AAAA,MACA,KAAK;AAAA,QACH,KAAK,OACF,OAAO,UAAU,YAChB,OAAO,KAAK,gBAAgB,KAAK,MAAM;AAAA,MAC7C;AAAA,MACA,UAAU;AAAA,QACR,KAAK,YACF,OAAO,UAAU,YAChB,OAAO,KAAK,qBAAqB,KAAK,MAAM;AAAA,MAClD;AAAA,MACA;AAAA,MACA,KACE,OAAO,UAAU,YACjB,OAAO,KAAK,aAAa,KAAK,MAAM,YACpC,KAAK,aAAa,KAAK,EAAE,WAAW,YAAY,IAC5C,GAAG,KAAK,IAAI,KAAK,aAAa,KAAK,CAAC,KACpC;AAAA,IACR;AAEA,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAEA,QAAI,OAAO,KAAK,iBAAiB,KAAK,MAAM,UAAU;AACpD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,MAAM,KAAK,eAAe,KAAK;AAAA,QAC/B,KAAK,GAAG,mBAAmB,IAAI,KAAK,eAAe,KAAK,CAAC;AAAA,MAC3D;AAAA,IACF;AAEA,QAAI,OAAO,KAAK,YAAY,KAAK,MAAM,UAAU;AAC/C,aAAO;AAAA,QACL,GAAG;AAAA,QACH,MAAM,KAAK,UAAU,KAAK;AAAA,QAC1B,KAAK,GAAG,KAAK,IAAI,KAAK,UAAU,KAAK,CAAC;AAAA,MACxC;AAAA,IACF;AAEA,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,KAAK;AAAA,IACb;AAAA,EACF,CAAC,EACA,OAAO,OAAO;AACnB;",
  "names": []
}
