odoo / owl

OWL: A web framework for structured, dynamic and maintainable applications
https://odoo.github.io/owl/
Other
1.1k stars 332 forks source link

[IMP] runtime: allow using any class as a type in props validation #1600

Closed sdegueldre closed 3 months ago

sdegueldre commented 3 months ago

Previously, we had a fixed whitelist for types that were allowed during props validation. The implementation however supports using arbitrary classes, and in practice it's desirable to do so, and already done when not using typescript (when using typescript, it will error if the class is not whitelisted), eg in Odoo, we use "Element" for the arch in the standard view props, but this causes all view controllers to fail type checking because it's not whitelisted.

This commit simply replaces existing constructors by a generic constructor type, and adds a test with a validation success and a test with a validation failure.