API Reference / @evolu/common / Type / TransformType

Interface: TransformType<FromType, ToType, TransformError>

Defined in: packages/common/src/Type.ts:1893

TransformType extends Type with additional fromType and toType properties for reflection.

Extends

Type Parameters

Type ParameterDefault type
FromType extends AnyType-
ToType extends AnyType-
TransformError extends TypeErrornever

Properties

PropertyModifierTypeDescriptionOverridesInherited fromDefined in
[EvoluTypeSymbol]readonlytrue--Type.[EvoluTypeSymbol]packages/common/src/Type.ts:171
ErrorpublicTransformErrorThe specific error introduced by this Type. ### Example type StringError = typeof String.Error;-Type.Errorpackages/common/src/Type.ts:96
Errorsreadonly| TransformError | InferErrors<FromType>ErrorParentError ### Example type StringParentErrors = typeof String.Errors;-Type.Errors
fromreadonly(value) => Result<InferType<ToType>, | TransformError | InferErrors<FromType>>Creates T from an Input value. This is useful when we have a typed value. from is a typed alias of fromUnknown.-Type.frompackages/common/src/Type.ts:111
fromParentreadonly(value) => [TransformError] extends [never] ? Ok<InferType<ToType>> : Result<InferType<ToType>, TransformError>Creates T from Parent type. This function skips parent Types validations/transformations when we have already partially validated/transformed value. For example, TrimString.from checks whether a value is a string and trims it. If we only want to trim a string, we can use fromParent. ### Example // string & Brand<"Trimmed"> const value = TrimString.fromParent("a ").value; // as efficient as foo.trim()Type.fromParent-packages/common/src/Type.ts:1908
fromTypereadonlyFromType---packages/common/src/Type.ts:1905
fromUnknownreadonly(value) => Result<InferType<ToType>, | TransformError | InferErrors<FromType>>Creates T from an unknown value. This is useful when a value is unknown.-Type.fromUnknownpackages/common/src/Type.ts:118
InputpublicInferInput<FromType>The type expected by from and fromUnknown. ### Example type StringInput = typeof String.Input;-Type.Inputpackages/common/src/Type.ts:94
isreadonly(value) => value is InferType<ToType>A type guard that checks whether an unknown value satisfies the Type. ### Example const value: unknown = "hello"; if (String.is(value)) { // TypeScript now knows valueis astring here. console.log("This is a valid string!"); } const strings: unknown[] = [1, "hello", true, "world"]; const filteredStrings = strings.filter(String.is); console.log(filteredStrings); // ["hello", "world"]-Type.ispackages/common/src/Type.ts:169
namereadonly"Transform"--Type.namepackages/common/src/Type.ts:102
ParentpublicInferType<FromType>The parent type. ### Example type StringParent = typeof String.Parent;-Type.Parentpackages/common/src/Type.ts:98
ParentErrorpublicInferErrors<FromType>The parent's error. ### Example type StringParentError = typeof String.ParentError;-Type.ParentErrorpackages/common/src/Type.ts:100
toreadonly(value) => InferInputThe opposite of from and fromUnknown. This is useful to transform T back to its Input representation. For refine, it only removes the brand. For transform, it changes value.-Type.topackages/common/src/Type.ts:127
toParentreadonly(value) => InferTypeThe opposite of fromParent.-Type.toParentpackages/common/src/Type.ts:148
toTypereadonlyToType---packages/common/src/Type.ts:1906
TypereadonlyInferTypeThe type this Type resolves to. ### Example type String = typeof String.Type;-Type.Typepackages/common/src/Type.ts:182

Was this page helpful?