Inversifyjs: Add babel legacy decorators support

Created on 19 Feb 2019  路  2Comments  路  Source: inversify/InversifyJS

Inversify decorators don't work with Babel, maybe because of different specification:

Possible Solution

Here's an example of working with Babel decorator, I suppose it works because it returns the descriptor (assign doesn't work):

function lazyInject(identifier?) {
    return (protoOrDescriptor, name?): any => ({
        configurable: true,
        enumerable: true,
        get: () => {
            return container.get(identifier);
        },
        set: () => void 0,
    });
}

Context

React Native 0.59 updated their bundler version and now it doesn't support the latest react-native-typescript-transformer. The problem is that developers of react-native-typescript-transformer are not going to keep supporting it and also recommend developers switching to Babel.
Now it's impossible to use InversifyJS with ReactNative since 0.59 at all, as Babel is the only option we can use.

Most helpful comment

Is there an update on this topic? I'm facing the same issue right know with a RN application and I don't know how to workaround this problem even after following #1007. Is the only option to use Inversify _without_ decorators? Like in vanilla JS

All 2 comments

Check this out

1007

Is there an update on this topic? I'm facing the same issue right know with a RN application and I don't know how to workaround this problem even after following #1007. Is the only option to use Inversify _without_ decorators? Like in vanilla JS

Was this page helpful?
0 / 5 - 0 ratings