[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Type](https://evolu.dev/docs/api-reference/common/Type) › TypeError

Defined in: [packages/common/src/Type.ts:892](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Type.ts#L892)

A plain structured error produced by a [Type](https://evolu.dev/docs/api-reference/common/Type/interfaces/Type) operation.

It is a domain value discriminated by `type`, not an instance of JavaScript's
global `TypeError`.

Each distinct error meaning and shape should use a unique `type`. Reuse a tag
only when it intentionally represents the same error contract. Accidental
reuse prevents reliable discriminated-union narrowing.

## Extended by

- [`ByteLengthError`](https://evolu.dev/docs/api-reference/common/Bytes/interfaces/ByteLengthError)
- [`ByteSizeLiteralError`](https://evolu.dev/docs/api-reference/common/Bytes/interfaces/ByteSizeLiteralError)
- [`ByteLengthFromStringError`](https://evolu.dev/docs/api-reference/common/Bytes/interfaces/ByteLengthFromStringError)
- [`PercentageLiteralError`](https://evolu.dev/docs/api-reference/common/Number/interfaces/PercentageLiteralError)
- [`DurationLiteralError`](https://evolu.dev/docs/api-reference/common/Time/interfaces/DurationLiteralError)
- [`TypeValueError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeValueError)
- [`TransformOutputError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TransformOutputError)
- [`NeverError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NeverError)
- [`TypeOfError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TypeOfError)
- [`BooleanFromStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/BooleanFromStringError)
- [`ObjectTagError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectTagError)
- [`LiteralError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/LiteralError)
- [`TemplateLiteralError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TemplateLiteralError)
- [`DateIsoError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DateIsoError)
- [`DateIsoFromDateError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DateIsoFromDateError)
- [`Int64Error`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Int64Error)
- [`UInt64Error`](https://evolu.dev/docs/api-reference/common/Type/interfaces/UInt64Error)
- [`IdentifierError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/IdentifierError)
- [`CapitalizedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/CapitalizedError)
- [`UncapitalizedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/UncapitalizedError)
- [`UppercasedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/UppercasedError)
- [`LowercasedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/LowercasedError)
- [`TrimmedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TrimmedError)
- [`StartsWithError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/StartsWithError)
- [`MinLengthError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/MinLengthError)
- [`MaxLengthError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/MaxLengthError)
- [`LengthError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/LengthError)
- [`RegexError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/RegexError)
- [`Base64UrlError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Base64UrlError)
- [`NameError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NameError)
- [`MnemonicError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/MnemonicError)
- [`TableIdError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TableIdError)
- [`IdError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/IdError)
- [`Int64StringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/Int64StringError)
- [`NonNegativeError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NonNegativeError)
- [`PositiveError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/PositiveError)
- [`NonPositiveError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NonPositiveError)
- [`NegativeError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NegativeError)
- [`NonNaNError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NonNaNError)
- [`FiniteError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/FiniteError)
- [`IntError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/IntError)
- [`IntFromStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/IntFromStringError)
- [`GreaterThanError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/GreaterThanError)
- [`GreaterThanOrEqualToError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/GreaterThanOrEqualToError)
- [`LessThanError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/LessThanError)
- [`LessThanOrEqualToError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/LessThanOrEqualToError)
- [`DecimalStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DecimalStringError)
- [`NonNegativeDecimalStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NonNegativeDecimalStringError)
- [`PositiveDecimalStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/PositiveDecimalStringError)
- [`NonPositiveDecimalStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NonPositiveDecimalStringError)
- [`NegativeDecimalStringError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/NegativeDecimalStringError)
- [`MultipleOfError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/MultipleOfError)
- [`BetweenError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/BetweenError)
- [`ArrayNotArrayError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ArrayNotArrayError)
- [`SetNotSetError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/SetNotSetError)
- [`MapNotMapError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/MapNotMapError)
- [`TupleNotArrayError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TupleNotArrayError)
- [`TupleInvalidLengthError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TupleInvalidLengthError)
- [`RecordNotRecordError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/RecordNotRecordError)
- [`RecordNotPlainRecordError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/RecordNotPlainRecordError)
- [`ObjectError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectError)
- [`ObjectMissingPropertyError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectMissingPropertyError)
- [`ObjectPropertyAccessError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectPropertyAccessError)
- [`ObjectNotObjectError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectNotObjectError)
- [`ObjectUnexpectedPrototypeError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectUnexpectedPrototypeError)
- [`ObjectExcessPropertyError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectExcessPropertyError)
- [`ObjectPropertiesError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectPropertiesError)
- [`ObjectKeysError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectKeysError)
- [`DiscriminatedUnionObjectError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DiscriminatedUnionObjectError)
- [`DiscriminatedUnionPropertyAccessError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DiscriminatedUnionPropertyAccessError)
- [`DiscriminatedUnionDiscriminatorError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DiscriminatedUnionDiscriminatorError)
- [`DataError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/DataError)
- [`JsonValueError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/JsonValueError)
- [`JsonError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/JsonError)
- [`AppNameError`](https://evolu.dev/docs/api-reference/common/local-first/Evolu/interfaces/AppNameError)
- [`ValidDbChangeValuesError`](https://evolu.dev/docs/api-reference/common/local-first/Storage/interfaces/ValidDbChangeValuesError)

## Properties

<a id="type"></a>

### type

```ts
readonly type: Name;
```

Defined in: [packages/common/src/Type.ts:893](https://github.com/evoluhq/evolu/blob/dd96d79f1dbe9a49fa12ce8e0aa7d3d0177795ca/packages/common/src/Type.ts#L893)