NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4944 most downloaded on npm
TypeScript runtime type system for IO decoding/encoding
Last release 2 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 1.4 years
Nearly every release is documented
notes for 58 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
121 releases · first in 2017
- New Feature - use unknown as mixed (@gcanti)
unknown as mixed (@gcanti)should emit expected keys while decoding, fix #214 (@gcanti)
align TaggedExact definition with siblings, fix #223 (@gcanti)
One column per quarter.
TaggedExact definition with siblings, fix #223 (@gcanti)dictionary type should not allow arrays, fix #218 (@gcanti)
use interface instead of type alias (@gcanti)
ContextErrorsAnyMixed- New Feature - add TaggedUnionType (@gcanti)
TaggedUnionType (@gcanti)allow recursive types in tagged unions (@gcanti)
add void runtime type (@gcanti)
void runtime type (@gcanti)partial combinator should preserve additional properties while encoding, fixes #179 (@gcanti)
useIdentity when possible (@gcanti)fix broken build with typescript@2.9.1, closes #174 (@gcanti)
typescript@2.9.1, closes #174 (@gcanti)upgrade to typings-checker@2.0.0 (@gcanti)
typings-checker@2.0.0 (@gcanti)fix alias implementation (@gcanti)
alias implementation (@gcanti)isTagged (@gcanti)the strict combinator is deprecated
clean / alias functions, closes #149 (@gcanti)exact combinator (@gcanti)
strict combinator is deprecatedoptional combinator (@gcanti)
Nothing published for this version
taggedUnion fails to decode when tag values are not string literals, fix #161 (@gcanti)
taggedUnion fails to decode when tag values are not string literals, fix #161 (@gcanti)workaround for upstream TypeScript bug 14041 (wrong generated declarations) (@gcanti)
make Context readonly (@gcanti)
Context readonly (@gcanti)optimizations, #134 (@gcanti, @sledorze)
fix OutputOfPartialProps name (@gcanti)
OutputOfPartialProps name (@gcanti)fix AnyType by extending Type (@gcanti)
AnyType by extending Type<any> (@gcanti)see https://github.com/gcanti/io-ts/pull/112 (@gcanti)
fp-ts@1.0.0add decode and deprecate top level validate (@gcanti)
Nothing published for this version
add taggedUnion combinator (@gcanti, @sledorze)
taggedUnion combinator (@gcanti, @sledorze)add support for mutually recursive types, closes #114 (@gcanti)
recursive combinator
RT now must extend Type<mixed, A> (@gcanti)replace any with mixed in all input type parameters (@gcanti) `diff -export class StringType extends Type { +export class StringType extends Type { }
mixed type (@gcanti)any with mixed in all input type parameters (@gcanti)-export class StringType extends Type<any, string> {
+export class StringType extends Type<mixed, string> {
}
strict: should succeed validating an undefined field, closes #106 (@gcanti)
revert 37c74a5e2038de063a950f9ba8d18b1f132ef450, closes #8 (@gcanti)
add Decoder / Encoder interfaces (@sledorze, @gcanti)
Decoder / Encoder interfaces (@sledorze, @gcanti)Nothing published for this version
make all classes "dumb", fix #95 (@gcanti)
Nothing published for this version
remove t.map and t.mapWithName (in general doesn't look serializable, needs more investigation)
t.map and t.mapWithName (in general doesn't look serializable, needs more investigation)t.prism (in general doesn't look serializable, needs more investigation)Type from interface to class and add S type parameter
t._AType#serializeType#is (in order to serialize unions and while we're at it, looks useful anyway)t.is (now that there's Type#is is misleading)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
add object type, closes #86 (@gcanti)
object type, closes #86 (@gcanti)add strict combinator, closes #84 (@phiresky, @gcanti)
strict combinator, closes #84 (@phiresky, @gcanti)upgrade fp-ts dependency (@gcanti)
fp-ts dependency (@gcanti)tag recursive types, fix #80 (@gcanti)
incorrect compile time type for dictionary, fix #75 (@gcanti)
upgrade to latest fp-ts (0.5.1) (@gcanti)
add aliases for null and interface, closes #63 (@gcanti)
null and interface, closes #63 (@gcanti)handle latest fp-ts (0.4.3) (@gcanti)
upgrade to latest fp-ts (0.4.0) (@gcanti)
export and rename interfaceType to _interface, fix #57 (@gcanti)
interfaceType to _interface, fix #57 (@gcanti)types no more own a is method, use t.is instead
Type is now an interfaceis method, use t.is insteadfold methodReporter, PathReporter, ThrowReporter are now top level modulesupgrade to latest fp-ts (io-ts APIs are not changed though) (@gcanti)
fp-ts (io-ts APIs are not changed though) (@gcanti)lib-jsnext folderremove excess overloadings, fix #43 (@gcanti)
add mapWithName and Functor instance, fix #37 (@gcanti)
This is a breaking change _only_ if you are using fp-ts APIs
This is a breaking change only if you are using fp-ts APIs
upgrade to fp-ts v0.1 (@gcanti)
add partial combinator (makes optional props possible)
partial combinator (makes optional props possible)readonly combinator (values are not frozen in production)readonlyArray combinator (values are not frozen in production)never typemaybe combinator, can be defined in userland asexport function maybe<RT extends t.Any>(
type: RT,
name?: string
): t.UnionType<[RT, typeof t.null], t.TypeOf<RT> | null> {
return t.union([type, t.null], name)
}
pathReporterFailure function from default reportersintersection combinator accepting only InterfaceTypesNothing published for this version
Nothing published for this version
Nothing published for this version
t.Object type. Renamed to t.Dictionary, now accepts arrays so is fully equivalent to { [key: string]: any }.
New Feature
Integer typeBreaking Changes
t.Object type. Renamed to t.Dictionary, now accepts arrays so is fully equivalent to { [key: string]: any }.t.instanceOf combinator. Removed.t.object combinator. Renamed to t.interface. ObjectType to InterfaceType. Excess properties are now pruned.mapping combinator. Renamed to dictionary. MappingType to DictionaryType.intersection combinator. Due to the new excess property pruning in t.interface now only accept InterfaceTypes.isSuccess removed, use either.isRight insteadisFailure removed, use either.isLeft insteadfromValidation removedNothing published for this version
reverse overloading definitions for unions, intersections and tuples, fix inference bug
Your coding agent can read these notes before it upgrades. Set up the MCP server →