import { describe, expect, it } from 'vitest'
import { isFieldError, type FieldError } from './types.js'

describe('isFieldError', () => {
  it('accepts a well-formed FieldError', () => {
    const e: FieldError = { field: 'email', code: 'required', message: 'x' }
    expect(isFieldError(e)).toBe(true)
  })

  it('rejects a non-FieldError object (cross-package structural guard, not instanceof)', () => {
    expect(isFieldError({ code: 'required', message: 'x' })).toBe(false)
    expect(isFieldError(null)).toBe(false)
    expect(isFieldError('required')).toBe(false)
  })
})
