package FikoYTMap

import (
	"fmt"
	"reflect"

	"github.com/gofiber/fiber/v3"
)

type FikoYTMap fiber.Map

func (f FikoYTMap) BosAlanlar() []string {
	var bosAlanlar []string

	for key, value := range f {
		if value == nil {
			// fmt.Printf("Alan boş veya nil: %s\n", key)
			bosAlanlar = append(bosAlanlar, key)
		}
		v := reflect.ValueOf(value)
		if v.Kind() == reflect.String && v.Len() == 0 {
			// fmt.Printf("Alan boş string: %s\n", key)
			bosAlanlar = append(bosAlanlar, key)
		}
	}
	return bosAlanlar
}

func (f FikoYTMap) TumAlanlarDolumu() bool {
	for key, value := range f {
		if value == nil {
			fmt.Printf("Alan boş veya nil: %s\n", key)
			return false
		}
		v := reflect.ValueOf(value)
		if v.Kind() == reflect.String && v.Len() == 0 {
			fmt.Printf("Alan boş string: %s\n", key)
			return false
		}
	}
	return true
}
