[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:869](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Type.ts#L869)

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

- [`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)
- [`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)
- [`CapitalizedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/CapitalizedError)
- [`TrimmedError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TrimmedError)
- [`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)
- [`IdError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/IdError)
- [`TableIdError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/TableIdError)
- [`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)
- [`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)
- [`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)
- [`ObjectError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectError)
- [`ObjectPropertiesError`](https://evolu.dev/docs/api-reference/common/Type/interfaces/ObjectPropertiesError)
- [`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:870](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Type.ts#L870)