import {
  ValidatorConstraint,
  ValidatorConstraintInterface,
  ValidationArguments,
} from "class-validator";

@ValidatorConstraint({ name: "NonEmptyItem", async: false })
export class NonEmptyItemConstraint
  implements ValidatorConstraintInterface
{
  validate(value: any) {

    return value && typeof value === "object" && Object.keys(value).length > 0;
  }

  defaultMessage(args: ValidationArguments) {
    return "Each item must contain item details";
  }
}
