{-# LANGUAGE NoImplicitPrelude, OverloadedStrings, RecordWildCards, LambdaCase #-}
module Distribution.Nixpkgs.Nodejs.Utils where
import Protolude
import qualified Yarn.Lock.Types as YLT
packageKeyToSymbol :: YLT.PackageKey -> Text
packageKeyToSymbol (YLT.PackageKey{..}) =
packageKeyNameToSymbol name <> "@" <> npmVersionSpec
{-# INLINABLE packageKeyToSymbol #-}
packageKeyNameToSymbol :: YLT.PackageKeyName -> Text
packageKeyNameToSymbol = \case
YLT.SimplePackageKey n -> n
YLT.ScopedPackageKey scope n -> "@" <> scope <> "/" <> n
{-# INLINABLE packageKeyNameToSymbol #-}