Testing Done: |
|
---|
Remove the @spina decorator on abstract classes.
Review Request #107 — Created April 26, 2024 and updated
`BaseVisibilityActionView` was decorated with `@spina`, which isn't technically allowed. `@spina` should only be applied to classes that can be instantiated. For abstract classes, we either want to use the parent class's Spina information or use `spinaBaseClassExtends` to define a new top-level class. It seems that, by and large, decorators can't be used with abstract classes. When compiling, we get basically: ```javascript const foo = abstract class Foo {} ``` This is a syntax error in JavaScript. The reason we didn't encounter this problem before is that Babel was stripping out the `abstract` when it processed the TypeScript and compiled to JavaScript. The TypeScript compiler leaves it in, in order to try to wrap it in a decorator. Going forward, we'll need to be careful not to decorate these classes. Testing Done: Unit tests pass. Verified that this no longer broke the build when compiled via ESBuild and Storybook. Reviewed at https://reviews.reviewboard.org/r/13738/
afdfsdf
Description | From | Last Updated |
---|---|---|
some problem |
guest7226 |