package wait

import (
	"context"
	"time"

	"github.com/tidbcloud/shared-provider/tests/framework/wait"
	"sigs.k8s.io/controller-runtime/pkg/client"
)

var (
	poll                 = wait.Poll
	WaitForCondition     = wait.WaitForCondition
	WaitForObjectDeleted = wait.WaitForObjectDeleted
)

func WaitForObjectExists(
	ctx context.Context,
	c client.Client,
	obj client.Object,
	timeout time.Duration,
) error {
	return WaitForCondition(ctx, c, obj, func() bool {
		return true
	}, timeout)
}
