How to pass generic schema and return updated schema in typebox valdiator?

92 Views Asked by At
import { canBeQueryFieldSchema } from '@sn/dto';


export const getUsersBRequestQuerySchema = Type.Intersect([
  Type.Object({
    status: Type.Boolean()
  }),
  canBeQueryFieldSchema
]);

const getUsersBRequestQuerySchema = mergeSchemas(
  Type.Object({
    status: Type.Boolean()
  })
);

export type GetUsersBRequestSchema = Static<typeof getUsersBRequestSchema>;

const a: GetUsersBRequestSchema;

Here a.query. will show all the keys from canBeQueryFieldSchema and additional added like status

I need to make a generic function which takes the schema to be passed and generic scehama is appened and return final schema

  return Type.Intersect([schema, canBeQueryFieldSchema]);
};

const getUsersBRequestQuerySchema = mergeSchemas(
  Type.Object({
    status: Type.Boolean()
  })
);
export const getUsersBRequestSchema = Type.Object({
  query: getUsersBRequestQuerySchema
});

export type GetUsersBRequestSchema = Static<typeof getUsersBRequestSchema>;

const a: GetUsersBRequestSchema;

If passing like this it removes all the keys for the type

0

There are 0 best solutions below