os-string-compat-1.0.1: src/System/OsString/Compat.hs
{-|
Module : System.OsString.Compat
Copyright : (c) 2021 Julian Ospald, 2025 David Wilson
License : BSD-3-Clause (see the LICENSE file)
Compatibility layer for versions of filepath that
don't import os-string. For versions that do, it
just re-exports the corresponding functions from
"System.OsString".
Note: All documentation is taken from the os-string
documentation, except for a few functions/types that
are found in the older versions of "filepath".
For more information on `OsString`s in general, look
at the package [os-string](https://hackage.haskell.org/package/os-string).
-}
module System.OsString.Compat
(
-- * String types
OsString
-- * OsString construction
, encodeUtf
, unsafeEncodeUtf
, encodeWith
, encodeFS
, osstr
, empty
, singleton
, pack
-- * OsString deconstruction
, decodeUtf
, decodeWith
, decodeFS
, unpack
-- * Word types
, OsChar
-- * Word construction
, unsafeFromChar
-- * Word deconstruction
, toChar
-- * Basic interface
, snoc
, cons
, last
, tail
, uncons
, head
, init
, unsnoc
, null
, length
, lengthBytes
-- * Transforming OsString
, map
, reverse
, intercalate
-- * Reducing OsStrings (folds)
, foldl
, foldl'
, foldl1
, foldl1'
, foldr
, foldr'
, foldr1
, foldr1'
-- * Special folds
, all
, any
, concat
-- * Generating and unfolding OsStrings
, replicate
, unfoldr
, unfoldrN
-- * Substrings
-- ** Breaking strings
, take
, takeEnd
, takeWhileEnd
, takeWhile
, drop
, dropEnd
, dropWhileEnd
, dropWhile
, break
, breakEnd
, span
, spanEnd
, splitAt
, split
, splitWith
, stripSuffix
, stripPrefix
-- * Predicates
, isInfixOf
, isPrefixOf
, isSuffixOf
-- ** Search for arbitrary susbstrings
, breakSubstring
-- * Searching OsStrings
-- ** Searching by equality
, elem
, find
, filter
, partition
-- * Indexing OsStrings
, index
, indexMaybe
, (!?)
, elemIndex
, elemIndices
, count
, findIndex
, findIndices
-- * Coercions
, coercionToPlatformTypes
) where
import Prelude ()
import System.OsString.Internal.Compat
import System.OsString.Internal.Types.Compat