This project adheres to semantic versioning.
- Improve
fromString
inURLPath
to infallibly parse all strings. - Take a
URL
origin intoURL
inURLPath
, fixing origin retention. - Remove
fromStringO
andtoURLO
fromURLPath
. - Narrow input in
omit
inReadonlyRecord
to readonly.
- Fix
fromString
inURLPath
failing to parse absolute URLs. - Fix
fromURL
inURLPath
incorrectly retaining alternative origins.
- Add
clone
toURLPath
. - Wrap the provided error cause in
unsafeExpect
inOption
in anError
object. - Fix
fromString
inURLPath
incorrectly retaining alternative origins. - Fix typings in presence of
isolatedModules
. - Bump minimum supported Node LTS to v20.
- Add
until
toMonad
,IO
, andTask
. - Add
toString
,isStringlyURL
,getHash
,getParams
,getPathname
,modifyHash
,modifyParams
,modifyPathname
,setHash
,setParams
,setPathname
,getOrigin
andgetHostname
, and anEq
instance toURL
. - Add an
Eq
instance toURLPath
. - Add
singleton
,appendAt
,upsertAt
,deleteAt
,lookup
,lookupFirst
,toLeadingString
,keys
,values
,size
,concatBy
,fromMap
andtoMap
, andEq
,Semigroup
andMonoid
instances toURLSearchParams
. - Add
integerFromString
toNumber
. - Add
dropPrefix
,dropSuffix
, andfromBool
toString
. - Fix
fromString
inNumber
not parsing floats. - Deprecate
getParam
,getAllForParam
, andsetParam
inURLSearchParams
.
- Fix widening of additional type arguments in
pass
.
- Add
URLPath
module. - Add
pass
toApplicative
,IO
,IOOption
,IOEither
,Task
,TaskOption
, andTaskEither
. - Add
Bounded
instance toBoolean
. - Add
match2
,getBounded
, andgetOrd
toEither
. - Add
applyN
and some do notation helpers toFunction
. - Add the do notation helper
let
toLazy
. - Add
includes
,size
, andsplit
toNonEmptyString
. - Add
digits
and alternative "Safe"Bounded
instance toNumber
. - Add
match2
andgetBounded
toOption
. - Add
get
toStruct
andReadonlyStruct
. - Add
getEq
,getOrd
, andgetBounded
toTuple
. - Add
clone
toURL
. - Add
toRecord
,toString
, andtoTuples
toURLSearchParams
. - Unsafe unwrapping and expectation functions now wrap all thrown values in an
Error
object, providing a stack trace. - Return a cleanup function in
addEventListener
, and addaddEventListener_
. Narrow the event type/target of each. - Remove index module. It's unfriendly to tree-shaking and less flexible than the facades pattern.
- Remove
mapBoth
fromIOEither
andTaskEither
as they're superceded by fp-ts/IOEither::mapBoth and fp-ts/TaskEither::mapBoth respectively. - Remove
tap
fromIO
as it's superceded by fp-ts/IO::tap. - Improve safety and inference of
isInstanceOf
. - Adjust the input type of
fromRecord
inURLSearchParams
. - Narrow return type of
getParamNonEmpty
inEnv
toNonEmptyString
. - Add
flatMap
aliases. - Support TypeScript's
node16
/nodenext
module resolutions. - Fix symbol property name of
JSONString
newtype. - Bump minimum supported fp-ts version to 2.16.0.
- Add experimental
Enum
module.
- Add
IOOption
module. - Add
ReaderIO
module. - Add
separateNE
toArray
andReadonlyArray
. - Add
traceShowWithValue
toDebug
. - Add
unsafeExpect
andunsafeExpectLeft
toEither
. - Add
unsafeExpect
andunsafeExpectLeft
toIOEither
. - Add
whenM
andunlessM
toMonad
. - Add
unsafeExpect
toOption
. - Add
asksEither
toReaderEither
. - Add
asksTask
toReaderTask
. - Add
asksEither
,asksTask
, andasksTaskEither
toReaderTaskEither
. - Add
pick
andomit
toRecord
andReadonlyRecord
. - Add
unsafeExpect
andunsafeExpectLeft
toTaskEither
. - Add
unsafeExpect
toTaskOption
. - Add
getAllForParam
andisEmpty
toURLSearchParams
. - Remove
flip
. fp-ts/function::flip is now curried. - Fix statefulness of
Str.test
. - Throw upon attempting to unsafely lift an empty string to
NonEmptyString
. - Improve
merge
type inferrence. - Bump minimum supported fp-ts version to 2.13.1.
- Rename
is
inFunction
toisInstanceOf
for readability. - Bump minimum supported Node LTS to v18.
- Fix symbol property name of
NonEmptyString
newtype.
- Add
IOEither
module. - Add
Monad
module. - Add
Newtype
module. - Add
NonEmptyString
module. - Add
Reader
module. - Add
ReaderEither
module. - Add
ReaderTask
module. - Add
ReaderTaskEither
module. - Add
TaskOption
module. - Add
altAllBy
toAlternative
andOption
. - Add
allM
andanyM
toArray
andReadonlyArray
. - Add
omitFrom
,renameKey
, andwithDefaults
toStruct
andReadonlyStruct
. - Add
fanout
toTuple
. - Add various voided sequencing functions.
- Add
Functor
,Applicative
, andMonad
instances toFunction
. - Lazily evaluate the values in
memptyWhen
,memptyUnless
, andpureIf
. - Stop permitting unknown keys in
omit
, reverting a change in 0.5.1. - Add missing re-exports to index module.
- Bump minimum supported TypeScript version to 4.7.0.
- Fix previous release, which was mistakenly identical to 0.14.0.
- Extend various functions' type definitions to support subtyping.
- Add
Bifunctor
module. - Add
Struct
andReadonlyStruct
modules. Some of the functions fromRecord
andReadonlyRecord
respectively have been moved there. - Add
fromIterable
toArray
andReadonlyArray
. - Add
fromReadonly
andtoReadonly
toArray
. - Add
toUTCString
toDate
. - Add
mapBoth
toEither
. - Add
invokeNullary
toFunction
. - Add
memoize
toIO
. - Add
memoize
toLazy
. - Add
words
andunwords
toString
. - Add
mapBoth
toTaskEither
. - Add
mapBoth
toTuple
. - Fix behaviour of
pick
andpickFrom
inStruct
(previouslyRecord
) with regards to optional properties. - Bump minimum supported Node LTS to v14.
- Support Node LTS (and latest evergreen browsers). This includes patching support for
replaceAll
inString
. - Fix CJS imports of the index module.
- Add
Alternative
module. - Add
Isomorphism
module. - Add
applySomes
toFunction
. - Add
lazy
toLazy
. - Add
memptyWhen
andmemptyUnless
toMonoid
. - Add
isPositive
,isNegative
,isNonNegative
, andisNonPositive
toNumber
. - Add
memptyWhen
,memptyUnless
, andpureIf
toOption
. - Add
isSpace
toString
. - Remove support for variadic/non-unary functions from
flip
. - Rename the "Flipped" suffix wherever present to "V".
- Bump minimum supported monocle-ts version to 2.3.0.
- Add ESM support for tree shaking. Note that your bundler or Node environment must now support conditional exports, else you'll need to import directly from a
dist/(cjs|esm)/
subdirectory. - Add
Applicative
module. - Add
DOM
module. - Add
Lazy
module. - Add
Monoid
module. - Add
Ordering
module. - Add
Predicate
module. Some of the functions fromBoolean
have been moved here. - Add
Random
module. - Add
Show
module. - Add
TaskEither
module. - Add
Tuple
module. - Add
applyEvery
,converge
,invoke
,invokeOn
, andis
toFunction
. - Add
when
,unless
,whenInvocationCount
, andexecute
toIO
. - Add
when
,unless
, andexecute
toTask
. - Add
isFinite
andtoFinite
toNumber
. - Add
noneAs
,invert
, andtoMonoid
toOption
. - Add
extractAt
toArray
andReadonlyArray
. - Duplicate
filterA
from fp-ts-contrib intoArray
andReadonlyArray
. - Replace
pick
inRecord
andReadonlyRecord
with a non-thunked version. The old implementation is now calledpickFrom
. - Narrow the type of the first parameter in
replaceAll
. This reverts the change made in 0.10.1. - Remove
both
andeither
fromPredicate
(formerlyBoolean
) as they're superceded by and and or respectively.
- Add
isAlpha
,isAlphaNum
,isLower
,isUpper
, andsplitAt
toString
. - Add
zipAll
toArray
andReadonlyArray
. - Add
fork
toFunction
. - A few function signatures now use readonly arrays as opposed to regular arrays as a result of the following supercessions.
- Remove
contains
,endsWith
,isString
,replace
,slice
,split
,startsWith
,toLower
,toUpper
,trim
,trimLeft
, andtrimRight
fromString
as they've been superceded by new additions to fp-ts/string. - Remove
applyTo
fromFunction
as it's superceded by fp-ts/function::apply. - Remove
concat
fromArray
andReadonlyArray
as it's superceded by fp-ts/Array::concat/fp-ts/ReadonlyArray::concat. - Remove
length
fromReadonlyArray
as it's superceded by fp-ts/ReadonlyArray::size. - Short-circuit
both
andeither
if the first predicate fails. - Bump minimum supported fp-ts version to 2.11.0.
- Widen the type of the first parameter in
replaceAll
.
- Add
ReadonlyArray
andReadonlyRecord
modules. - Add
fromString
,fromStringWithRadix
, andfloatFromString
toNumber
. - Remove
empty
,isEmpty
, andlength
fromString
as they're superceded by the new fp-ts/string module. - Remove
length
fromArray
as it's superceded by fp-ts/Array::size.
- Add
Env
module withgetParam
andgetParamNonEmpty
. - Add
minimum
,maximum
, andconcat
toArray
. - Narrow the return type of
parse
. - Throw the value that does exist in the
Either
inunsafeUnwrap
andunsafeUnwrapLeft
.
- Add
reduceWhile
andreduceRightWhile
toArray
. - Add missing re-exports to index module (
Debug
,IO
).
- Add
IO
module withtap
andonce
. - Add
aperture
,slice
,reject
,none
,startsWith
,moveFrom
,moveTo
,countBy
,dropRightWhile
,mean
,median
,dropAt
,transpose
,takeRightWhile
, andsymmetricDifference
toArray
. - Add
reject
,merge
,invertLast
, andinvertAll
toRecord
. - Add
last
,init
,slice
,lookup
,toUpper
,toLower
,dropRightWhile
,under
,replace
,replaceAll
,takeLeftWhile
, andtakeRightWhile
toString
. - Add
isValid
,rem
,mod
, andnegate
toNumber
. - Add
construct
,memoize
,curry2
throughcurry5
,curry2T
throughcurry5T
, anduncurry2
throughuncurry5
toFunction
. - Add
Milliseconds
newtype toDate
, and update theDate
andTask
modules to universally utilise it. - Remove
all
fromArray
as it's superceded by fp-ts/Array::every. - Remove
any
fromArray
as it's superceded by fp-ts/Array::some. - Provide the input value to the fallback function of
guard
. - Loosen the input type of
sum
andproduct
such that it needn't be readonly. - Bump minimum supported fp-ts version to 2.9.0.
- Add
dropRepeats
,endsWith
,without
,cartesian
,sum
, andproduct
toArray
. - Add
dropLeft
,dropLeftWhile
,dropRight
,head
, andtail
toString
. - Add
empty
toString
. - Add
unJSONString
toJSON
. - Add
unary
,applyTo
,guard
,ifElse
,unless
,when
, anduntil
toFunction
. - Remove
concat
fromString
as it's a duplicate ofprepend
.
- Relicense under MIT.
- Make
omit
inRecord
more permissive. It will now typecheck if you try to omit keys which aren't present in the target object. - Drop the
lib/
prefix from imports. - Add an optional "main" entrypoint which re-exports all modules.
- Add
JSONString
newtype toJSON
, and update various functions in this module accordingly. This addsnewtype-ts
andmonocle-ts
as peer dependencies. - Add
insertMany
toArray
. - Add
withIndex
toFunction
. - Add
elapsed
toTask
. - Add
both
andeither
toBoolean
. - Add
unsafeUnwrapLeft
toEither
. - Replace
exec
inString
withmatchAll
. - Remove
contains
fromArray
as it's a duplicate ofelem
in fp-ts. - Rename
containsFlipped
inArray
toelemFlipped
for consistency with fp-ts. - Remove
getInvertedOrd
fromOrd
(removing theOrd
module entirely) as it's a duplicate ofgetDualOrd
in fp-ts.
- Add the
invert
,and
,or
,xor
,allPass
, andanyPass
toBoolean
. - Remove
not
fromBoolean
as it's a duplicate of an fp-ts function. - Remove
unsafeExactKeys
fromRecord
as it's a duplicate ofkeys
in fp-ts. - Update
unsurround
inString
to be consistent withsurround
. - Fix
stringify
/stringifyO
not adhering to the function signature if suppliedundefined
input.
- Add
startsWith
,endsWith
,takeLeft
,takeRight
, andreverse
toString
. - Remove unneeded
newtype-ts
peer dependency. This may be added back in the future if and when we are actively utilising it. - Upgrade
upsert
inArray
to return aNonEmptyArray
. - Remove
undefined
as acceptable input tostringifyPrimitive
inJSON
.
- Add
Debug
module. - Add
URLSearchParams
module. - Add more arithmetic to
Number
. - Add
exec
toString
.
- Fix broken
getParam
type signature. It was incorrectly marked as effectful. - Fix broken
setParam
definition. It previously mistakenly mutated its input.
- Fix broken
unlines
definition. - Amend
surround
to only take a single argument describing the "surroundings".
- Initial release.