cerulea/lexicon
define atproto schemas in TypeScript
git clone https://git.t4t.associates/cerulea/lexicon
25f2629
main
1import type { Field , Schema } from "../schema.ts" ; 2 3// A field's schema with its optional and nullable wrappers peeled off. 4export function unwrap ( field :Field ) :{ schema :Schema ; optional :boolean ; nullable :boolean } { 5const optional = field . type === "optional" ; 6const inner = field . type === "optional" ?field . inner :field ; 7const nullable = inner . type === "nullable" ; 8return { schema :inner . type === "nullable" ?inner . inner :inner , optional, nullable}; 9}