استخراج type از متغیر در typescript

سلام
اینتر فیس های من به شکل زیر تعریف شدند

 interface test {
   [key: string]: string
}

interface state {
   tests: test,
   t1:test
}

و متغیر هام به شکل زیر:

const a: state = {
  tests:{
    mda:'m',
    mdaa:'e'
   },
  t1: {
    kdf:'sss'
  }
}
const { tests, t1 } = a

const t2 = tests.mda

مشکل اینجاست که وقتی میخوام در متغیر t2 از tests استفاده کنم key های tests رو نمیاره تا من از بین اونا انتخاب کنم و من میتونم هر key ای اونجا بزنم که این باعث خطا میشه اگه اشتباه بزنم. حالا من میخوام شما کمکم کنید تا یک تایپ مناسب برایش بذارم هر چی گشتم چیزی پیدا نکردم

 const { tests, t1 } : {tests:....., t1:.....} = a

اینم لینک playground

داده mda الان ذخیره کرده

interface test {
    [key: string]: string
}
interface state {
    tests: test,
    t1:test
}
const a: state = {
    tests:{
        mda:'m',
        mdaa:'e'
    },
    t1: {
        kdf:'sss'
    }
}
const { tests, t1 }  = a

const t2 = tests.mda

console.log(t2)
console.log(tests)

خروجی

m
{ mda: 'm', mdaa: 'e' }
1 پسندیده

درسته ذخیره کرده ولی اگه الان بزنید

 const t2 = tests.mdaaaaaa

هیچ خطایی نشون نمیده که tests این key رو نداره منظورم این بود

به جای interface از کلاس استفاده کنی بهتر type ها تشخیص داده میشن

1 پسندیده

مشکل اینجاست که من از این اینترفیس استفاده کردم

 interface test {
    [key: string]: string
 }

فکر کنم باید تابعی بنویسیم که از tests این key ها بکشه بیرون