structured-elements
Version:
A TypeScript package for modelling and validating data
21 lines (16 loc) • 446 B
text/typescript
import { isArray } from "@/is/array"
import { isRecord } from "@/is/record"
import { isStringKeyedRecord } from "@/is/stringKeyedRecord"
import type { Mirror } from "@/mirror"
export const isMirror = (subject: unknown): subject is Mirror<unknown> => {
if (!isRecord(subject)) {
return false
}
if (!isArray(subject.array)) {
return false
}
if (!isStringKeyedRecord(subject.collection)) {
return false
}
return true
}