API reference › @evolu/common › Type › Data

Data: createTypeNode<DataType>(
  "Data",
  null,
  validateData,
  (value) => validateData(value).ok,
  validateData,
  ok,
  identity,
  getDataRuntimeTypeIssues,
  {
    check: (value, options) => {
      const result = validateData(value, options);
      return result.ok ? undefined : result.error;
    },
  },
);

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

Root Type for Data values.

Validation is iterative and preserves the input identity. Cyclic and shared data graphs are valid.

Example

import { assertOk, assertTrue, Data } from "@evolu/common";

const value = new Map([["count", 1]]);
const result = Data.fromUnknown(value);

assertOk(result, value);
assertTrue(Data.is(result.value));