tree 847cb6a831fcdc32b5cf3694507de9d5751057dc
parent cc3aa64a133e7b0c38f5e83453e7f40cc8ad92f4
author Nikechukwu <150845642+nikeokoronkwo@users.noreply.github.com> 1755220642 -0400
committer GitHub <noreply@github.com> 1755220642 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJonoqiCRC1aQ7uu5UhlAAAnV4QAEKwVre5qX72SqleWI3bYHJF
 +ZGs5c9Y/uCX7weAAXRsIbwbKP4CrnHhAQAjLmOlD0PpEBtHQ5MedMZKsxttRLTY
 1dHaLfRZIoON0m8xodddWIPi05TuBc0fHStb2nAeaKsUOY31ThUph1lIrcaBu/na
 IthVYr7FWDDqFJauuqXSQ8muVbD9ZMtXumTzxyvSqLS0c7rgPiSsDp8x+LcfWn+J
 rqOIu8TZEjORmUjxMup5UiMoQyeoQzX54TtwGdl9mmcePUbH5fFzNRTQ7XPlIuT9
 UvzoShiqQyia3FwZmlGlE7zeezf2iG39x8mk3Qw+hbKGqW73zCs1aomXfoAw3Zmf
 RaPITDIe2Xt8moNOOXB/QfXVGUbREg4j+KuvHLrrphJvcCH1o5tWFkL9ajeLvLBe
 7BzdGbbKAdlF/XkztHkoESHW3KpMkpeEZbIfO8EqFN3lmCry2tyFa/TZMeUld9IJ
 tqRjqUzFCSjWxZpz6PbEEo5OieiYtuqdvKzOyizawiUeNvAeWn3rXOEtEsaIiYW0
 uBi+H633KBkrCJjGFCrMQy7FhsjEVvGAVxUn4Pn7q26dSz79QPrjaYz4LFFBTIoB
 ojym4Idf5yjy+BaqB6HQGeUswb2p2GaFqjWtLZiM46+7RkFCgrtcdF2KzZKQAXzP
 NucWC5Bar1yQ/gVYTZIJ
 =2Lui
 -----END PGP SIGNATURE-----
 

[interop] Add Support for Anonymous Declarations (#434)

This adds support for generating declarations for anonymous declarations, such as anonymous objects, unions, closures and constructor types.

This also adds support for nullable types (types unioned with undefined and/or null).

A hashing function is used for consistently hashing string objects, which is used for hashing identifiers for anonymous unions, objects and more, as well as comparing such names to allow reusing of such types.

* wip: union types

* wip: completed anonymous unions

* implemented JS Tuple

* completed nullability support for `undefined` and `null`

* wip: object decl

* implemented anonymous objects

* added support for closures and constructors

* wip: type hierarchy

* implemented sub type deduction

* added type generics to union types

* changed `.reduce` to `.fold`

* resolved newline and license headers

* isNullable updates and renamed `DeclarationAssociatedType`

* updated algorithm to use LCA via Topological Ordering

* resolved some more comments

* rm hasher_test

* resolved some more comments

* refactored tuple generation (common types) and more

* added LCA test

* removed stray prints

* added doc support and resolved merge

* updated documentation formatting using formatting.dart