grantila/suretype

Access to ObjectValidator._properties

toiroakr opened this issue · 0 comments

I want to create a type by modifying another type like below.
But, I don't want to export typeAProps.

I want to create TypeB from TypaA._properties but _properties is private.
Could you add access to _properties to ObjectValidator?

export const typeAProps = {
  id: v.string().required(),
  name: v.string().required(),
  ...
};
export const TypeA = annotate(
  { title: "TypeA" },
  v.object(typeAProps)
);

// another file
export const TypeB = annotate(
  { title: "TypeB" },
  v.object({
    ...typeAProps, // => ...TypaA._properties
    id: v.number().required(),
  })
);