structured-elements
Version:
A TypeScript package for modelling and validating data
19 lines (15 loc) • 521 B
text/typescript
import { isReferenceContainer } from "@/is/referenceContainer"
import { isStringKeyedRecord } from "@/is/stringKeyedRecord"
import type { StructuredElements } from "@"
export const isRecordSchema = <
Registry extends StructuredElements.BaseRegistry,
Subject,
>(
api: StructuredElements.API<Registry>,
expectation: unknown,
): expectation is StructuredElements.RecordSchema<Registry, Subject> => {
if (isReferenceContainer(api, expectation)) {
return false
}
return isStringKeyedRecord(expectation)
}