From acc0e798ded75b473891b293a3bfd59c4b299e1d Mon Sep 17 00:00:00 2001 From: Per-Kristian Nordnes Date: Tue, 6 Dec 2022 09:29:25 +0100 Subject: [PATCH] refactor(validation): update pt types --- .../@sanity/validation/src/validateDocument.test.ts | 13 ++++++++++--- packages/@sanity/validation/src/validateDocument.ts | 6 +++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/@sanity/validation/src/validateDocument.test.ts b/packages/@sanity/validation/src/validateDocument.test.ts index 78b21b430fb..e5b272f11fa 100644 --- a/packages/@sanity/validation/src/validateDocument.test.ts +++ b/packages/@sanity/validation/src/validateDocument.test.ts @@ -1,5 +1,12 @@ import type {SanityClient} from '@sanity/client' -import {Rule, SchemaType, SanityDocument, Schema, ArraySchemaType, Block} from '@sanity/types' +import { + Rule, + SchemaType, + SanityDocument, + Schema, + ArraySchemaType, + PortableTextTextBlock, +} from '@sanity/types' import {createSchema} from '../test/createSchema' import {createMockSanityClient} from '../test/mocks/mockSanityClient' import validateDocument, {resolveTypeForArrayItem, validateItem} from './validateDocument' @@ -346,7 +353,7 @@ describe('validateItem', () => { expect(schema._validation).toHaveLength(0) - const nestedBlock: Block = { + const nestedBlock: PortableTextTextBlock = { _type: 'block', _key: 'nested-block-key', children: [ @@ -367,7 +374,7 @@ describe('validateItem', () => { style: 'normal', } - const block: Block = { + const block: PortableTextTextBlock = { _key: 'block-key', _type: 'block', children: [ diff --git a/packages/@sanity/validation/src/validateDocument.ts b/packages/@sanity/validation/src/validateDocument.ts index acfc9a65521..97c5ed8d030 100644 --- a/packages/@sanity/validation/src/validateDocument.ts +++ b/packages/@sanity/validation/src/validateDocument.ts @@ -6,9 +6,9 @@ import { ValidationMarker, isKeyedObject, isTypedObject, - isBlock, isBlockSchemaType, isSpanSchemaType, + isPortableTextTextBlock, } from '@sanity/types' import {concat, defer, merge, Observable, of} from 'rxjs' import {catchError, map, mergeAll, mergeMap, toArray} from 'rxjs/operators' @@ -239,7 +239,7 @@ function validateItemObservable({ // markDefs also do no run nested validation if the parent object is undefined // for a similar reason to arrays const shouldRunNestedValidationForMarkDefs = - isBlock(value) && value.markDefs.length && isBlockSchemaType(type) + isPortableTextTextBlock(value) && value.markDefs?.length && isBlockSchemaType(type) if (shouldRunNestedValidationForMarkDefs) { const [spanChildrenField] = type.fields @@ -254,7 +254,7 @@ function validateItemObservable({ ) nestedChecks = nestedChecks.concat( - value.markDefs.map((markDef) => + (value.markDefs || []).map((markDef) => validateItemObservable({ ...restOfContext, parent: value,