// Copyright (c) 2024-2026 Celestino Amoroso (celestino.amoroso@gmail.com).
// All rights reserved.

// string.go
package str

import (
	"fmt"

	"git.portale-stac.it/go-pkg/expr/kern"
)

func IsString(v any) (ok bool) {
	_, ok = v.(string)
	return ok
}

func ToGoString(value any, description string) (s string, err error) {
	if s, ok := value.(string); ok {
		return s, nil
	} else {
		err = fmt.Errorf("%s expected string, got %s (%v)", description, kern.TypeName(value), value)
	}
	return
}
