API reference › @evolu/common › Type › JsonValue

JsonValue: createTypeNode<JsonValueType>(
  "JsonValue",
  null,
  validateJsonValue,
  (value) => validateJsonValue(value).ok,
  validateJsonValue,
  ok,
  identity,
  getJsonValueRuntimeTypeIssues,
  {
    check: (value, options) => {
      const result = validateJsonValue(value, options);
      return result.ok ? undefined : result.error;
    },
  },
);

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

Exact root Type for JsonValue data trees.

Example

import {
  assertOk,
  assertType,
  JsonValue,
  type JsonValueInput,
} from "@evolu/common";

const input: JsonValueInput = {
  name: "Ada",
  scores: [10, 20],
};
const result = JsonValue.fromUnknown(input);

assertOk(result, input);
assertType<typeof result.value, JsonValue>();