которая в качестве аргументов принимает объекты или кортеж [объект, объект с аналогичными ключами] .
(сложно объясняю, ниже будет песочница)
Т.е. я пытаюсь описать типы так, чтобы второй элемент кортежа имел аналогичную структуру.
Я понимаю, что текущая реализация у меня ломается как только я передаю второй объект из-за неправильной реализации/использования дженерика. Но я пока не могу понять как это правильно сделать.
https://www.typescriptlang.org/play?#code/C4TwDgpgBAYglgJ2AZwPICMBWEDGwoC8UA3gFBQVQBmiywG2eACggPZgCMAXFHQnADsA5gG5ylGgjoNcwFuwBMPAQFcAtuggIxlarXpZZ8sAGYefQaPEVJ0w8zZgALD3StWAGwgBDAWIC+pKSgkFAAyrisAgAmMniEJNa8kTFxco7cUKoaWjqUyCmx9umK5sD8wnkUBThRRYwlpmUVVoHB4NBpxsgAPAAqUBAAHsAQMcgk-gB8CUzeSHDeHj1kugDaTFCCUADWECCsVFB9ALo8fRsnAVNi7aEAgghC6gIQKH0d-YMjY9ETxNMEo8EN4QF8AD5QNZ9AA0UC6jl6fSmJymQVItQEdCgKjA0W8owQCS+w1G40mMKmAAoAHR0+ZCZA8R7PNSvd6fZEASkIMwBtwxUWxrGKmXgSDQxQSqwk+gR7EyAHJbAhFTCkrYDA1jEooABWdW6TXyppQZX6NUauXFYwuKDlFQQUj+W6Y4XFXURTH1WTSpI1OomzIADkN+UKJt1ioDMUtuhjPoc7DMZoTiudQVx+MJVJFDQ4XNuWYJWlzorhedkCkLmbxJYQVLWlbwHDhxGNNoyPEVAEcAO4QRX+E410jFnNN8skDvartm-uD4dwyf5tszoyOO1UJYFYej8elleyVvT62zhXdhdDk7L5vABRthOR7voDzeV-ea+FoA
https://www.typescriptlang.org/play?#code/C4TwDgpgBAYglgJwM7APICMBWEDGwoC8UA3gFBRQBmiKG2eACggPZgCMAXFCgnAHYBzANzkqNNFlzAmrAExc+AVwC26CAhEVqyCfWkswAZi49+w0dtqTGBgCxd0zZgBsIAQz4iAviNKhIUADKuMx8ACZ0UoQkokgh4ZE2rJxQSqrqmtzxEdb6cibAvIKZcTihOXoyRgVF5j6kfuDQiXlgSAA8ACpQEAAewBDhSCReAHzRDG4IwHBuzu3EUADaDFD8UADWECDMlFCdALpcnSsHUGO+-tAAqmBhbgMIAIIIAiqDwB3dfQNDI+NEJadAA0UBaVS+owA-AdfGU+CgoIo7g91NEuj1+oMwsNiGMABQAOmJUwESC4t3ujxeb2UH0hSwOAEpCOM8XDQojmLkUvAdC1omQtOJwQYUgAiSzAcXAiwi3JVeRQACssuF-IVBmMUEl4hlco1lTsXEKiggsvqpHhXNySuC8IqUSIQqyDtFyS4AA41a7yu6wErxaVyvqKMGEprWNqg9l9ZbkVT1Pilty9GxmSIE6iEMnU1I2KDFlL-SkAOQARwA7hBS+cM6Qs49czzC2JDVIqmWqzW66CUy2SG2rEbWPYqHM4nWmUIgA
эм... а как все же быть с таким случаем? https://www.typescriptlang.org/play?#code/C4TwDgpgBAYglgJwM7APICMBWEDGwoC8UA3gFBRQBmiKG2eACggPZgCMAXFCgnAHYBzANzkqNNFlzAmrAExc+AVwC26CAhEVqyCfWkswAZi49+w0dtqTGBgCxd0zZgBsIAQz4iAviNKhIUADKuMx8ACZ0UoQkokgh4ZE2rJxQSqrqmtzxEdb6cibAvIKZcTihOXoyRgVF5j6kfuDQiXlgSAA8ACpQEAAewBDhSCReAHzRDG4IwHBuzu3EUADaDFD8UADWECDMlFCdALpcnSsHUGO+-tAAqmBhbgMIAIIIAiqDwB3dfQNDI+NEJadAA0UBaVS+owA-AdfGU+CgoIo7g91NEuj1+oMwsNiGMABQAOmJUwESC4t3ujxeb2UH0hSwOAEpCOM8XDQojmLkUvAdC1omQtOJwQYUgAiSzAcXAiwi3JVeRQACssuF-IVBmMUEl4hlco1lTsXEKiggsvqpHhXNySuC8IqUSIQqyDtFyS4AA41a7yu6wErxaVyvqKMGEprWNqg9l9ZbkVT1Pilty9GxQYspf6UgByACOAHcIDnzgdQSnbRnw46kgGuDmIAW8zmvMyhEA
https://www.typescriptlang.org/play?#code/C4TwDgpgBAYglgJwM7APICMBWEDGwoC8UA3gFBRQBmiKG2eACggPZgCMAXFCgnAHYBzANzkqNNFlzAmrAExc+AVwC26CAhEVqyCfWkswAZi49+w0dtqTGBgCxd0zZgBsIAQz4iAviNKhIUADKuMx8ACZ0UoQkokgh4ZE2rJxQSqrqmtzxEdb6cibAvIKZcTihOXoyRgVF5j6kfuDQiXlgSAA8ACpQEAAewBDhSCReAHzRDG4IwHBuzu3EUADaDFD8UADWECDMlFCdALpcnSsHUGO+-tAAqmBhbgMIqJAID3ChXT39g2HDxGPRJadAA0UBaVQ6nVGAH4Dr4ynwUFBFHcHupogAKAB0OKmAiQXAAgghXiB2rd7o9nuo3h94DoWuMAD5QClop4vWl8drBBEVKSjUYASkI43+8NCSOYuRS9KsemiZC04nBBhSAHJLMB1cCLCrclV5FAAKy65UMg0GYxQTXiHV6i2VOxcQqKCC6+qkBFS3JG3nlFqK2LZVXJLgADjNWT5obARvVpXK9ooiYSltY1oT2XtnpRlPUGKW0r0bFBiy1sY1AEcAO4QdXnA6gou+svRgPpuNcdUQGtVhteA5CoRAA
Извините, если морочу голову. Дело в том, что таких объектов может быть множество. И я не всегда знаю их тип, знаю лишь, что они соответствуют типу Plain Object. Вот и была цель, написать универсальное решение. Оно конечно легко реализуется, если нет необходимости проверять ключи второго объекта. Но вот как раз хотелось сделать с проверкой.
https://www.typescriptlang.org/play?#code/C4TwDgpgBAYglgJ2AZwPICMBWEDGwoC8UA3gFBQVQBmiywG2eACggPZgCMAXFHQnADsA5gG5ylGgjoNcwFuwBMPAQFcAtuggIxlarXpZZ8sAGYefQaPEVJ0w8zZgALD3StWAGwgBDAWIC+pKSgkFAAyrisAgAmMniEJNa8kTFxco7cUKoaWjqUyCmx9umK5sD8wnkUBThRRYwlpmUVVoHB4NBpxsgAPAAqUBAAHsAQMcgk-gB8CUzeSHDeHj1kugDaTFCCUADWECCsVFB9ALo8fRsnAVNi7aF9KmBe-TNEA8Oj41sCVFpQAEpQAD8UDW-wANFA5gslj1-lMTlBlBAAG65O7QACCCCE6gEEBQfQ6-UGIzG0QmxGmCWxCG8IBJAB9jo9nn0plMgqRagI6FBHtFvKMEAkSR9yZT-OCpgAKAB0CvmQmQPGxuLU+MJxPZAEpCDMqbduVE+axipl4Eg0MUEqsJPouhkeAByWwIZ3gpK2AwNYxKKAAVk9um9jvYZigrv0Hq9DuKxhcUHKKggpH8tx5puK-oiPPqsltSRqdTDnB4AA5g-lCqX-c7izEY7oG-mHOGXS3nWmggKhVoZWaGhwdbde8KepaUGkoMzcyXirLB7IOJCl3gFCOe2BBcKZWs18AVyRQ-GnZGAI4Adwgzv8J03pDH-f35shxBPvrPzqvN7vkJfQ5vh+RiOImVBLAUd4Pk+CB7geR7vnGn7sJk37XreJz-geChvi2tYuugHjeIR3gYQ+AD05EAAIoAAtMMkB4PRCBsAgj7bn2CATogU42rONYLnBr7HkhIEoS6P4YVhwnEHhp6lJGJEkWRIhAA
а, это тоже не рабочий
Обсуждают сегодня