/
asserters.ts
75 lines (67 loc) · 2.06 KB
/
asserters.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import {
isArrayOfBlocksSchemaType,
isArrayOfObjectsSchemaType,
isArrayOfPrimitivesSchemaType,
isBooleanSchemaType,
isNumberSchemaType,
isObjectSchemaType,
isStringSchemaType,
} from '@sanity/types'
import {
ArrayOfObjectsInputProps,
ArrayOfPrimitivesInputProps,
BooleanInputProps,
InputProps,
NumberInputProps,
ObjectInputProps,
StringInputProps,
} from './inputProps'
import {ItemProps, ObjectItemProps} from './itemProps'
/** @beta */
export function isObjectItemProps(
item: ItemProps | Omit<ItemProps, 'renderDefault'>
): item is ObjectItemProps {
return isObjectSchemaType(item.schemaType)
}
/** @beta */
export function isObjectInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is ObjectInputProps {
return isObjectSchemaType(inputProps.schemaType)
}
/** @beta */
export function isStringInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is StringInputProps {
return isStringSchemaType(inputProps.schemaType)
}
/** @beta */
export function isNumberInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is NumberInputProps {
return isNumberSchemaType(inputProps.schemaType)
}
/** @beta */
export function isBooleanInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is BooleanInputProps {
return isBooleanSchemaType(inputProps.schemaType)
}
/** @beta */
export function isArrayOfObjectsInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is ArrayOfObjectsInputProps {
return isArrayOfObjectsSchemaType(inputProps.schemaType)
}
/** @beta */
export function isArrayOfBlocksInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is ArrayOfObjectsInputProps {
return isArrayOfBlocksSchemaType(inputProps.schemaType)
}
/** @beta */
export function isArrayOfPrimitivesInputProps(
inputProps: InputProps | Omit<InputProps, 'renderDefault'>
): inputProps is ArrayOfPrimitivesInputProps {
return isArrayOfPrimitivesSchemaType(inputProps.schemaType)
}