import { has as has_, URI } from '@traversable/registry' import * as t from './schema.js' export const key = t.union(t.string, t.number, t.symbol) export interface has { tag: URI.has (u: unknown): u is this['_type'] _type: has_ def: [path: KS, predicate: S] } export function has(...args: readonly [...path: KS, leafSchema?: S]): has> export function has(...args: readonly [...path: KS, leafSchema?: S]): has export function has(...path: readonly [...KS]): has> export function has(...args: readonly [...KS]) { return has_(...args) }