Chciałbym dodać Flow do mojego projektu javascript.Typy przepływów na obiektach
W kilku przypadkach robię coś takiego, mam obiekt.
const myObject = {
x: 12,
y: "Hello World"
}
Mam ogólną funkcję, która wykonuje pewne odwzorowanie na obiekcie, zachowując klucze, ale zastępując wartości.
function enfunctionate(someObject) {
return _.mapValues(myObject, (value) =>() => value)
}
Chciałbym funkcję powrotu typ {x:() => number, y:() => string}
Czy istnieje sposób, aby to się stało?
Oczywiście, mógłbym wpisać go bardziej ogólnie jako {[key: string]: any}
, ale straciłbym dużo statycznego pisania, który chciałbym uzyskać za pomocą przepływu.
Gdybym mógł zastąpić moje kilka przypadków, które robią to z generowaniem kodu lub makrami, które mogłyby działać, ale nie widzę dobrego sposobu, aby to zrobić z przepływem.
Czy istnieje sposób rozwiązania tego problemu?
jako możesz zobaczyć tutaj https://docs.omniref.com/js/npm/lodash-node/3.1.0/symbols/_.mapValues 'mapValues' akceptuje' any' i zwraca ** kopię **, więc nie możesz zachować to w * typ *. – Hitmands
Możliwy duplikat [Jak mogę wpisać funkcję z obiektami wejściowymi i wyjściowymi o tych samych kluczach, ale o różnych typach wartości?] (Http://stackoverflow.com/questions/35894181/how-do-i-type-a-function -with-input-and-output-objects-with-the-same-keys-but-di) –